天天看点

【ZZULIOJ】1076: 三位数求解ZZULIOJ题解

ZZULIOJ题解

1076: 三位数求解

题目描述

已知xyz+yzz=n,其中n是一个正整数,x、y、z都是数字(0-9),编写一个程序求出x、y、z分别代表什么数字。如果无解,则输出“No Answer”

注意:xyz和yzz表示一个三位数,而不是表示xyz和yzz。

输入

输入一个正整数n。

输出

输出一行,包含x、y、z的值,每个数值占4列。

样例输入
样例输出

典型的循环题目。利用穷举法,同上一题以及上上一题,不过从鸡变成了人又变成了抽象的未知数哈哈哈。依旧是注意标志的设立,不过这里注意咱们的x从1开始循环,以及y也应该从1开始循环。毕竟百位不能为0.

代码

#include<stdio.h>
int main()
{
    int x,y,z,n,answer=0;//定义三个未知数x,y,z以及数字n还有标志answer
    scanf("%d",&n);//键盘输入数字n
    for(x=1;x<=9;x++)
     for(y=1;y<=9;y++)
      for(z=0;z<=9;z++)//穷举法寻找xyz
      { 
        if((100*x+10*y+z)+(100*y+10*z+z)==n)//如果恰好符合条件
        { 
        printf("%4d%4d%4d",x,y,z); //按照格式要求输出
        answer=1;//更改标志
        } 
      }
    if(!answer)//标志器没有改变,依旧是初始状态
    printf("No Answer\n");
	return 0;//程序正常结束
}