for循环求水仙花数
时间: 2024-12-15 17:14:48 浏览: 9
for循环求水仙花数是一种常见的编程练习,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
下面是一个简单的Python示例,展示了如何使用for循环寻找所有的水仙花数:
```python
def find_pythagorean_triple():
limit = 999 # 我们只考虑三位数
for num in range(100, limit+1): # 遍历从100到999的所有数
digits = [int(d) for d in str(num)] # 将数字转换为列表,获取每一位数字
if sum(map(lambda x: x**3, digits)) == num: # 检查是否满足水仙花条件
print(f"{num} is a Narcissistic number")
# 执行函数
find_pythagorean_triple()
```
运行这个程序会打印出所有小于1000的水仙花数。
相关问题
用for循环求水仙花数
水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。要用for循环求水仙花数,可以按照以下步骤进行操作:
1. 使用for循环遍历100到999之间的所有三位数。
2. 在循环中,使用取模和除法运算符将当前数字的百位、十位和个位分别提取出来。
3. 计算当前数字的各位数字的三次幂之和。
4. 使用if语句判断当前数字是否等于各位数字的三次幂之和,如果相等,则输出当前数字为水仙花数。
下面是代码实现:
```
for (int i = 100; i <= 999; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if (i == (ge * ge * ge + shi * shi * shi + bai * bai * bai)) {
System.out.println("水仙花数:" + i);
}
}
```
双重for循环求水仙花数
好的,以下是代码实现:
```python
for i in range(100, 1000):
for j in str(i):
if i == sum(int(k)**3 for k in str(i)):
print(i)
break
```
这段代码可以求出所有的三位数水仙花数。
阅读全文