组合三位数
题目内容:
将0到9这十个数字分成三个3位数,要求第一个3位数,正好是第二个3位数的1/2,是第三个3位数的1/3。问应当怎样分,编写程序实现。
输入格式: 无
输出格式:"%d,%d,%d\n" (注意:输出的顺序为第一个3位数,第二个3位数,第三个3位数)
#include<stdio.h>
int main()
{
int m,sum,b[10],j,k,q;
for(int i=102;i<=329;i++)//无重复数字的最小三位数102,i的边界值可以稍大一些
{
j=2*i;
k=3*i;
m=i;
for(int a=0;a<3;a++)
{
b[a]=j%10; //将j的个位数存入数组b
j=j/10;
b[a+3]=k%10;//将K的个位数存入数组b
k=k/10;
b[a+6]=m%10;
m=m/10;
}
sum=0;
q=0;
for(int l=0;l<8;l++)
{
for(int n=l+1;n<9;n++)
{
if(b[l]==b[n])//判断数组中有没有相同的数字
{
q++;//有相同的就加一
}
}
}
if(q==0)//没有相同的数字,输出
{
printf("%d,%d,%d\n",i,2*i,3*i);
}
}
return 0;
}
运行结果: