设计C++程序:输出100到1000以内是“水仙花数”的所有三位数。水仙花数是指三位数的各位数字的立方和等于这个三位数本身。例如:153=111+555+333
时间: 2024-05-04 18:15:36 浏览: 80
以下是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;
}
```
希望对您有所帮助。
相关问题
用C++写一个编程打印500以内的水仙花数水仙花数,是一个三位数其各位数立方和等于该数本身
好的,以下是用 C 语言编写的程序,可以打印出 500 以内的水仙花数:
```c
#include <stdio.h>
int main() {
int i, j, k, n;
for (n = 100; n <= 500; n++) {
i = n / 100; // 百位数
j = (n % 100) / 10; // 十位数
k = n % 10; // 个位数
if (n == i * i * i + j * j * j + k * k * k) {
printf("%d ", n);
}
}
return 0;
}
```
程序中使用了一个 for 循环,遍历了 100 到 500 之间的所有整数。对于每个整数,我们分别计算出它的百位数、十位数和个位数,然后判断是否满足水仙花数的条件,如果满足,则将该数打印出来。最终程序输出的结果为:
```
153 370 371 407
```
找出1000以内的水仙花数
水仙花数(Narcissistic number)是指一个三位数,其各位数字立方之和等于该数本身。例如,153是个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
要找出1000以内的所有水仙花数,你可以编写一个简单的C++程序来遍历这个范围并检查每个数是否满足条件。以下是一个简短的示例:
```cpp
#include <iostream>
bool isNarcissistic(int num) {
int sum = 0;
int temp = num;
// 分解数字
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit; // 累加各个位立方
temp /= 10;
}
return sum == num; // 如果累加后的和等于原数,则是水仙花数
}
int main() {
for (int i = 100; i < 1000; ++i) { // 遍历100到999
if (isNarcissistic(i)) {
std::cout << i << " is a Narcissistic number.\n";
}
}
return 0;
}
```
当你运行这段代码时,它会输出1000以内所有的水仙花数。
阅读全文