天天看點

【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;//程式正常結束
}