双重for循环求水仙花数
时间: 2023-11-12 11:59:45 浏览: 39
好的,以下是代码实现:
```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
```
这段代码可以求出所有的三位数水仙花数。
相关问题
用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);
}
}
```
c++用for循环求水仙花数
以下是使用C++中的for循环求解水仙花数的代码:
```c++
#include <iostream>
using namespace std;
int main() {
cout << "The narcissus from 1 to 1000!" << endl;
for (int n = 100; n < 1000; n++) {
int b = n / 100; // 百位数字
int s = n / 10 % 10; // 十位数字
int g = n % 10; // 个位数字
if (n == g * g * g + s * s * s + b * b * b) {
cout << "Next narcissus is: " << n << endl;
}
}
return 0;
}
```
该程序使用for循环遍历1到1000之间的所有数字,对于每个数字,分别计算其百位、十位和个位数字,并判断该数字是否为水仙花数。如果是水仙花数,则输出该数字。