用C语言统计水仙花个数
时间: 2024-11-21 22:14:53 浏览: 20
C语言实现水仙花数的两种判定方法
在C语言中,我们可以编写一个函数来检查一个整数是否是水仙花数,然后再遍历给定范围内的所有数字,统计出水仙花数的数量。水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是一个简单的C程序示例:
```c
#include <stdio.h>
int is narcissistic(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == num;
}
void count_narcissistic_numbers(int start, int end) {
int count = 0;
for (int i = start; i <= end; ++i) {
if (is_narcissistic(i)) {
count++;
}
}
printf("在%d到%d之间的水仙花数有 %d 个。\n", start, end, count);
}
int main() {
int range_start = 100; // 设定起始范围,比如从100开始
int range_end = 999; // 设定结束范围,比如到999
count_narcissistic_numbers(range_start, range_end);
return 0;
}
```
在这个程序中,`is_narcissistic` 函数用于检查单个数字是否为水仙花数,`count_narcissistic_numbers` 函数则负责统计并打印结果。
阅读全文