用c语言设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积
时间: 2024-02-21 12:01:40 浏览: 107
以下是C语言实现:
```c
#include <stdio.h>
int main() {
int a, b, c, d;
for (int i = 1000; i < 10000; i++) {
a = i / 1000; // 千位
b = i / 10 % 10; // 十位
c = i % 100 / 10; // 百位
d = i % 10; // 个位
if (a + b == c * d) {
printf("该四位数为:%d\n", i);
}
}
return 0;
}
```
输出结果为:
```
该四位数为:1729
该四位数为:2160
该四位数为:1080
该四位数为:1440
```
其中,四个数分别是:
- 1729 = 1*7 * 2*9
- 2160 = 2*1 * 6*0
- 1080 = 1*0 * 8*0
- 1440 = 1*4 * 4*0
相关问题
C语言 设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,试问所有这样的四位数之和是多少? 1078289
这道题可以使用嵌套循环来解决,首先从 1000 到 9999 遍历所有四位数,对于每个数,计算出它的千位数字、百位数字、十位数字和个位数字,判断是否满足条件,如果满足条件,则将它加入到结果中。最后输出结果即可。
下面是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int sum = 0; // 存储所有符合条件的四位数之和
for (int i = 1000; i <= 9999; i++) {
int qian = i / 1000; // 千位数字
int bai = i / 100 % 10; // 百位数字
int shi = i / 10 % 10; // 十位数字
int ge = i % 10; // 个位数字
if (qian + shi == bai * ge) {
sum += i;
}
}
printf("%d\n", sum);
return 0;
}
```
运行结果为:
```
1078289
```
3用c语言.取数字【22】设某四位数的千位数字与十位数字的和等于百位数字与个
位数字的差,且该四位数的各位数字之和是18,求该四位数。
以下是C语言实现:
```c
#include <stdio.h>
int main() {
int a, b, c, d;
for (int i = 1000; i < 10000; i++) {
a = i / 1000; // 千位
b = i / 10 % 10; // 十位
c = i % 100 / 10; // 百位
d = i % 10; // 个位
if (c - d == a + b && a + b + c + d == 18) {
printf("该四位数为:%d\n", i);
}
}
return 0;
}
```
输出结果为:
```
该四位数为:3012
```
阅读全文