编程求所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如153是水仙花数,因为153=1∗∗3+5∗∗3+4∗∗3 输入格式: 输出格式: 一行输出一个数(用Python实现)
时间: 2024-03-20 11:41:25 浏览: 22
好的,以下是Python实现的代码:
```python
for i in range(100, 1000):
num = str(i)
if int(num[0])**3 + int(num[1])**3 + int(num[2])**3 == i:
print(i)
```
输出结果为:
```
153
370
371
407
```
以上就是所有的水仙花数了。
相关问题
编程求所有的水仙花数水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数代码
以下是求解所有三位数水仙花数的 Python 代码:
```python
for num in range(100, 1000):
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
if num == digit1**3 + digit2**3 + digit3**3:
print(num)
```
输出结果为:
```
153
370
371
407
```
C++编程计算求“水仙花数”。所谓“水仙花数”,是指一个三位数,各位数字立方和等于该数本身
在C++中,计算"水仙花数"可以编写一个简单的循环程序,遍历所有三位数,并验证它们是否满足条件,即各位数字的三次方之和等于原数。以下是代码实现的一个示例:
```cpp
#include <iostream>
using namespace std;
bool is narcissistic(int n) {
int sum = 0;
int originalNum = n; // 将原始数存储以便恢复
// 分离每位数字并取立方
while (originalNum != 0) {
int digit = originalNum % 10;
sum += pow(digit, 3); // 加上立方后的数字
originalNum /= 10;
}
// 检查结果是否相等
return sum == n;
}
int main() {
int start = 100, end = 999; // 只考虑三位数
cout << "Searching for narcissistic numbers between " << start << " and " << end << ":" << endl;
for (int i = start; i <= end; ++i) {
if (is_narcissistic(i)) {
cout << i << " is a Narcissistic Number.\n";
}
}
return 0;
}
```
在这个程序中,`is_narcissistic` 函数接收一个整数 `n`,并通过将每个位上的数字取出并计算其立方值来判断是否为水仙花数。如果所有位上的立方和等于原始数,就返回true,表示它是水仙花数。
阅读全文