题目描述
已知xyz+yzz=n,其中n是一个正整数,x、y、z都是数字(0-9),编写一个程序求出x、y、z分别代表什么数字。如果无解,则输出“No Answer”
注意:xyz和yzz表示一个三位数,而不是表示xyz和yzz。
输入
输入一个正整数n。
输出
输出一行,包含x、y、z的值,每个数值占4列。
样例输入 Copy
532
样例输出 Copy
3 2 1
由于本题数据范围较小,因此可以使用枚举法
代码如下
#include<stdio.h>
int main()
{
int n,x,y,z;
int flag=1;//定义一个标志变量,标志无解时
scanf("%d",&n);
for(x=1;x<=9;x++)//三位数,三层循环,x只出现在了百位因此x不能为0
{
for(y=1;y<=9;y++)//y出现过在百位,也不能为0
{
for(z=0;z<=9;z++)
{
if(x*100+y*10+z + y*100+z*10+z==n && y!=0)
{
printf("%4d%4d%4d",x,y,z);flag=0;
}
}
}
}
if(flag)
printf("No Answer");
return 0;
}
加粗样式