水仙花数是各位数字立方之和等于数字本身的三位整数,如153是水仙花数,因为153=13+53+33,利用C语言中的while语句编写程序求出所有的水仙花数并输出。
时间: 2023-11-28 21:49:24 浏览: 92
很好,下面是使用while循环的C语言程序:
```c
#include <stdio.h>
int main() {
int num = 100;
int digit1, digit2, digit3, tmp;
while (num < 1000) {
digit1 = num / 100; // 获取百位数
digit2 = (num / 10) % 10; // 获取十位数
digit3 = num % 10; // 获取个位数
tmp = digit1*digit1*digit1 + digit2*digit2*digit2 + digit3*digit3*digit3; // 计算立方和
if (tmp == num) { // 判断是否为水仙花数
printf("%d\n", num); // 输出水仙花数
}
num++; // 继续下一个数的判断
}
return 0;
}
```
程序中使用了一个while循环,从100到999遍历了所有的三位数,然后依次计算每个数的百位数、十位数和个位数,计算立方和,判断是否等于该数本身。如果相等,则输出该数。
相关问题
水仙花数是各位数字立方之和等于数字本身的三位整数,如153是水仙花数,因为153=13+53+33,利用C语言编写程序求出所有的水仙花数并输出。
好的,以下是利用 C 语言编写的求解水仙花数的程序:
```c
#include <stdio.h>
int main()
{
int i, j, k, n;
for (n = 100; n <= 999; n++)
{
i = n / 100;
j = (n % 100) / 10;
k = n % 10;
if (i * i * i + j * j * j + k * k * k == n)
printf("%d\n", n);
}
return 0;
}
```
程序中使用了一个 for 循环,枚举了从 100 到 999 的所有三位数。对于每个三位数,我们将其分解为百位、十位和个位,然后判断是否满足水仙花数的定义。如果满足,就将其输出。
希望这个程序可以帮到你!
2.水仙花数是各位数字立方之和等于数字本身的三位整数,如153是水仙花数,因为153=13+53+33,编写程序求出所有的水仙花数并输出。
好的,这是一个比较简单的编程问题。以下是一个 Python 的实现:
```python
for i in range(100, 1000):
# 分离出百位、十位和个位
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否为水仙花数
if i == a**3 + b**3 + c**3:
print(i)
```
输出结果为:
```
153
370
371
407
```
这些数字就是所有的水仙花数。
阅读全文