题目描述
设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。
输入描述:
题目没有任何输入。
输出描述:
请输出所有满足题目条件的a、b、c的值。 a、b、c之间用空格隔开。 每个输出占一行。
解题思路
一、暴力破解
直接遍历循环找出符合条件的a,b,c
注意起始条件,a,b分别作为百位数,故从1开始遍历。
1 #include <stdio.h> 2 int main() 3 { 4 int a,b,c; 5 for(int a = 1;a<=9;a++) 6 for(int b = 1;b<=9;b++) 7 for(int c = 0;c<=9;c++) 8 if(a*100+b*10+c + b*100+c*10+c == 532) 9 printf("%d %d %d",a,b,c); 10 11 }
二、我解题的时候,不是用的暴力法,而是使用该题的特点,直接算出答案。
abc + bcc = 532
从个位数算,c = 1 或者 c =6 只有这俩种情况
按位分开讨论,不需要遍历!直接排除c = 6 的情况,即算出a,b,c的值。