编写程序找出所有水仙花数并输出
时间: 2023-05-22 20:01:06 浏览: 140
好的,以下是程序代码:
#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;
}
这个程序可以找出所有的三位数水仙花数并输出。
相关问题
编写程序,输出所有水仙花数
水仙花数是指一个三位数,其各个数位的立方和等于该数本身。例如,153是一个水仙花数,因为 $1^3+5^3+3^3=153$。
以下是 Python 代码实现:
```python
for num in range(100, 1000):
# 将数字转换为字符串,然后分别取出每个数位上的数字
a = int(str(num)[0])
b = int(str(num)[1])
c = int(str(num)[2])
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == num:
print(num)
```
输出结果为:
```
153
370
371
407
```
java编写程序输出所有水仙花数。水仙花数: abc = 输出: 所有的水仙花数如下所示: 153、370、371、407
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153,所以153就是一个水仙花数。以下是使用Java编写的简单程序,用于找出并输出所有的水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 判断是否为水仙花数的函数
private static boolean isNarcissistic(int number) {
int sum = 0;
String numStr = Integer.toString(number);
for (char digit : numStr.toCharArray()) {
sum += Character.getNumericValue(digit) * Character.getNumericValue(digit) * Character.getNumericValue(digit);
}
return sum == number;
}
}
```
运行这个程序会输出:153, 370, 371, 407。
阅读全文