/*
问题描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成
1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
输入格式
无输入文件
输出格式
输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。
答案:
192 384 576
219 438 657
273 546 819
327 654 981
*/
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int i,j,k,n,a[9],num;
for(i=123; i<=327; i++)//327*3=981 987/3=329(9) 984/3=328(8) 981/3=327 (最大327) 最小123
{
n=0;
if(i/100!=i%100/10 && i/100!=i%10 && i%100/10!=i%10 && i%100/10!=0 && i%10!=0)
//5个条件 百位不等于十位 百位不等于个位 十位不等于个位 十位不为0 个位不为0
{
for(j=1; j<=3; j++)
{
a[n++]=j*i/100;//a[0]百位
a[n++]=j*i%100/10;//a[1]十位
a[n++]=j*i%10;//a[2]个位
}
for(j=0; j<9; j++)
{
num=0;
if(a[j]!=0)
{
for(k=j+1; k<9; k++)
{
if(a[j]==a[k])
{
num++;
break;
}
}
if(num>0)
break;
}
else
{
num++;
break;
}
}
if(num==0)
{
for(j=1; j<10; j++)
{
cout<<a[j-1];
if(j%3==0)
cout<<" ";
}
cout<<endl;
}
}
}
return 0;
}
问题描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成
1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
输入格式
无输入文件
输出格式
输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。
答案:
192 384 576
219 438 657
273 546 819
327 654 981
*/
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int i,j,k,n,a[9],num;
for(i=123; i<=327; i++)//327*3=981 987/3=329(9) 984/3=328(8) 981/3=327 (最大327) 最小123
{
n=0;
if(i/100!=i%100/10 && i/100!=i%10 && i%100/10!=i%10 && i%100/10!=0 && i%10!=0)
//5个条件 百位不等于十位 百位不等于个位 十位不等于个位 十位不为0 个位不为0
{
for(j=1; j<=3; j++)
{
a[n++]=j*i/100;//a[0]百位
a[n++]=j*i%100/10;//a[1]十位
a[n++]=j*i%10;//a[2]个位
}
for(j=0; j<9; j++)
{
num=0;
if(a[j]!=0)
{
for(k=j+1; k<9; k++)
{
if(a[j]==a[k])
{
num++;
break;
}
}
if(num>0)
break;
}
else
{
num++;
break;
}
}
if(num==0)
{
for(j=1; j<10; j++)
{
cout<<a[j-1];
if(j%3==0)
cout<<" ";
}
cout<<endl;
}
}
}
return 0;
}