153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。c++编程求所有满足这种条件的三位十进制数。
时间: 2023-06-08 12:05:19 浏览: 83
好的,根据您的要求,我可以为您编写一个求解满足条件的三位十进制数的C程序。程序如下:
```c
#include <stdio.h>
int main() {
int i, j, k, sum;
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
for (k = 0; k <= 9; k++) {
sum = i*i*i + j*j*j + k*k*k;
if (sum == i*100 + j*10 + k) {
printf("%d\n", sum);
}
}
}
}
return 0;
}
```
程序的思路是,分别用三个for循环枚举三位数的每一位,然后计算这个三位数是不是满足等于其每一位数字的立方和。如果满足条件,则输出这个数字。程序输出的结果如下:
```
153
370
371
407
```
其中,153是已知的符合条件的数,而370、371、407也是满足条件的三位数。
相关问题
设计C++程序:输出100到1000以内是“水仙花数”的所有三位数。水仙花数是指三位数的各位数字的立方和等于这个三位数本身。例如:153=111+555+333
以下是C程序的实现:
```c
#include <stdio.h>
int main()
{
int i, j, k, n;
for(n=100; n<=999; n++)
{
i = n / 100; // 获取百位数
j = n / 10 % 10; // 获取十位数
k = n % 10; // 获取个位数
if(n == i*i*i + j*j*j + k*k*k) // 判断是否为水仙花数
{
printf("%d\n", n); // 输出水仙花数
}
}
return 0;
}
```
希望对您有所帮助。
判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 写出C++代码
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
int digit1 = num % 10; // 取个位数
int digit2 = (num / 10) % 10; // 取十位数
int digit3 = num / 100; // 取百位数
if (num == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
cout << num << "是水仙花数" << endl;
} else {
cout << num << "不是水仙花数" << endl;
}
return 0;
}
```
程序首先读入一个三位数,然后分别取出它的个位数、十位数和百位数。接着,使用if语句判断这个三位数是否等于它本身每位数字立方和的值,如果是,则输出该数是水仙花数,否则输出该数不是水仙花数。