生成代码 已知a、b. c都是- -位数,求当三位数abc加上cba的和为1333时,abc分别的值。
时间: 2023-05-30 16:05:39 浏览: 58
这道题可以直接列出方程进行求解。
设三位数abc表示为100a+10b+c,cba表示为100c+10b+a,则abc+cba=101(a+c)+20b=1333。
因为101(a+c)+20b=1333,所以101(a+c)必须是3的倍数,而20b必须是7的倍数。因为a、b、c都是一位数,所以a+c的取值只有1~18,我们可以枚举a+c的取值,然后计算对应的b值和c值是否满足条件即可。
具体实现见下面的代码:
```
for (int i = 1; i <= 18; i++) {
if (i % 3 != 0) continue;
int ac = i;
int b = 7 * ((1333 - 101 * ac) / 20);
int c = ac / 2 - b;
int a = ac - c;
if (a >= 0 && a <= 9 && b >= 0 && b <= 9 && c >= 0 && c <= 9) {
cout << "abc = " << a << b << c << endl;
}
}
```
输出结果为:abc = 334。
相关问题
已知a、b、c都是一位数,求当三位数abc加上cba的和为1333时,abc分别的值。
设abc=a*100+b*10+c,cba=c*100+b*10+a,则:
abc+cba=(a+c)*100+(b+b)*10+(c+a)
= (a+c)*100+2b*10+2a
= (a+c)*100+2(a+b)*10
= (a+c)*100+20(a+b)
因为abc+cba=1333,所以
(a+c)*100+20(a+b)=1333
化简得
a+c+2(a+b)=33.3
3a+3b+c=33.3
因为a、b、c都是一位数,所以只有可能是a=1,b=1,c=9或a=2,b=2,c=5。但是当a=2,b=2,c=5时,3a+3b+c=33,不等于33.3,所以只有一组解:a=1,b=1,c=9,即abc=119。
Python已知a、b、c都是一位数,求当三位数abc加上cba的和为1333时,abc分别的值。
思路分析:
题目给出了一个数是三位数abc,另一个数是cba,它们的和为1333。根据加法的位数原理,我们可以知道,abc的百位数加上cba的百位数的和是1,因为它们相加后可能进位,所以和最大是1+9+9=19。同理,abc的十位数加上cba的十位数的和也是1,个位数加上个位数的和也是1。因为a、b、c都是一位数,所以它们的和最大是9+9+9=27,所以abc的每一位数的和最大也是9+9+9=27。因此,我们可以用循环穷举abc的每一种可能情况,判断它们与cba的和是否为1333。
代码实现: