abc -- 牛客

题目描述

设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的值。

原文地址:https://www.cnblogs.com/jiashun/p/newcode8.html