如何编写一个程序来找出所有的三位水仙花数?
时间: 2024-09-10 16:11:50 浏览: 28
水仙花数是指一个三位数,它的每个位上的数字的立方之和等于它本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。编写程序找出所有三位水仙花数的步骤如下:
1. 遍历所有三位数,即从100到999。
2. 对于每一个数,分别计算其百位、十位和个位上的数字。
3. 计算每个位上数字的立方和。
4. 判断立方和是否等于原数,如果相等,则该数为水仙花数,并输出该数。
以下是一个简单的Python程序示例,用以找出所有的三位水仙花数:
```python
# 打印所有三位水仙花数
for num in range(100, 1000):
# 计算百位、十位和个位上的数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 计算立方和
if hundreds**3 + tens**3 + ones**3 == num:
print(num)
```
运行这段代码,就可以打印出所有的三位水仙花数。程序中使用了整数除法和模运算来分别获取百位、十位和个位上的数字,并计算立方和来判断是否为水仙花数。
相关问题
编写程序找出所有水仙花数并输出
好的,以下是程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
int i, n, sum, num;
printf("所有的水仙花数为:\n");
for (i = 100; i <= 999; i++)
{
n = i;
sum = 0;
while (n > 0)
{
num = n % 10;
sum += pow(num, 3);
n /= 10;
}
if (sum == i)
{
printf("%d\n", i);
}
}
return 0;
}
这个程序可以找出所有的三位数水仙花数并输出。
用Python编写程序找出所有的水仙花数
以下是用Python编写程序找出所有的水仙花数的代码:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
这个程序会输出所有的三位数水仙花数,即153、370和371。