输出所有的水仙花数,每行一个水仙花数。输出的格式为:153=1*1*1+5*5*5+3*3*3。
时间: 2023-11-14 15:44:09 浏览: 45
153=1*1*1+5*5*5+3*3*3
370=3*3*3+7*7*7+0*0*0
371=3*3*3+7*7*7+1*1*1
407=4*4*4+0*0*0+7*7*7
1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4
8208=8*8*8*8+2*2*2*2+0*0*0*0+8*8*8*8
9474=9*9*9*9+4*4*4*4+7*7*7*7+4*4*4*4
相关问题
求出所有的水仙花数。153=1**3+5**3+3**3
水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
要求出所有的水仙花数,可以通过遍历所有可能的n位数,并计算每个数的各个位上数字的n次幂之和,如果等于该数本身,则该数是水仙花数。
以下是求出所有的水仙花数的步骤:
1. 确定要求的水仙花数的位数n。
2. 遍历从10^(n-1)到10^n之间的所有数。
3. 对于每个数,将其每个位上的数字取出,并计算其n次幂之和。
4. 如果计算结果等于该数本身,则该数是水仙花数。
5. 将所有的水仙花数保存起来。
下面是一个Python代码示例,用于求解3位数的水仙花数:
```python
def find_narcissistic_numbers(n):
narcissistic_numbers = []
for num in range(10**(n-1), 10**n):
sum_of_powers = 0
temp = num
while temp > 0:
digit = temp % 10
sum_of_powers += digit ** n
temp //= 10
if sum_of_powers == num:
narcissistic_numbers.append(num)
return narcissistic_numbers
narcissistic_numbers = find_narcissistic_numbers(3)
print(narcissistic_numbers)
```
运行以上代码,将会输出所有的3位水仙花数。
c语言求水仙花数的算法病输出153=1*1*1+5*5*5+3*3*3
C语言求水仙花数的算法如下:
```c
#include <stdio.h>
int main() {
int num, originalNum, remainder, result = 0;
printf("请输入一个整数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
}
if (result == num) {
printf("%d 是水仙花数\n", num);
} else {
printf("%d 不是水仙花数\n", num);
}
return 0;
}
```
运行该程序,输入一个整数,程序会判断该整数是否为水仙花数,并输出结果。