输出所有的水仙花数和个数
时间: 2024-10-08 19:05:20 浏览: 49
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
要找出所有的水仙花数及其个数,可以编写一个程序遍历从100到999的所有整数,对每个数进行判断是否满足条件。以下是Python的一个简单实现:
```python
def find_water_lilies():
count = 0
for num in range(100, 1000):
# 把百位、十位、个位分别提取出来并计算立方和
digits = [int(d) for d in str(num)]
if sum([d**3 for d in digits]) == num:
print(f"{num} is a Water Lily number.")
count += 1
return count
water_lily_count = find_water_lilies()
print(f"Total number of Water Lily numbers: {water_lily_count}")
```
运行此程序,你会得到所有水仙花数及其总数。需要注意的是,实际上只有三个水仙花数:153, 370, 和 371。
相关问题
java输出所有水仙花数以及水仙花数的个数
水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。在Java中,可以通过以下代码输出所有的水仙花数,并计算水仙花数的个数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int count = 0; // 计数器,用于统计水仙花数的个数
for (int i = 100; i < 1000; i++) {
int num = i;
int sum = 0;
while (num > 0) {
int digit = num % 10;
sum += Math.pow(digit, 3);
num /= 10;
}
if (sum == i) {
System.out.println(i);
count++;
}
}
System.out.println("水仙花数的个数为:" + count);
}
}
```
运行以上代码,即可输出所有的水仙花数,并统计水仙花数的个数。
C语言编写一个程序:水仙花数是一个三位数,其各位数字的立方和与原数相等。输入几个三位数,识别是否为水仙花数,若是水仙花数,按递增顺序输出所有水仙花数,每个数输出占5列。若不是水仙花数则不输出该数
```
#include <stdio.h>
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (num >= 100 && num <= 999) { // 判断是否为三位数
int i, j, k;
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
for (k = 0; k <= 9; k++) {
int temp = i * 100 + j * 10 + k;
if (temp == num && temp == i * i * i + j * j * j + k * k * k) { // 判断是否为水仙花数
printf("%5d", temp); // 输出当前水仙花数
}
}
}
}
}
return 0;
}
```
阅读全文
相关推荐













