C语言编写一个求水仙花的函数和判断整数n是否为素数的函数,求出1000以内的全部水仙花数并判断求出的水仙花是否为素数
时间: 2024-12-13 13:18:31 浏览: 7
在C语言中,我们可以分别编写两个函数:`is_prime`用于判断整数是否为素数,`find_armstrong_numbers`用于找出指定范围内的水仙花数。以下是这两个函数的示例代码:
```c
#include <stdio.h>
// 判断是否为素数的函数
int is_prime(int n) {
if (n <= 1)
return 0;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0)
return 0;
}
return 1;
}
// 求水仙花数的函数
void find_armstrong_numbers(int limit) {
for (int num = 100; num < limit; num++) {
int sum = 0;
int temp = num;
while (temp != 0) {
sum += temp % 10;
temp /= 10;
}
if (sum == num) { // 如果数字等于它的各个位相加的结果,就是水仙花数
printf("%d 是水仙花数,并且 ", num);
if (is_prime(num)) {
printf("也是素数。\n");
} else {
printf("不是素数。\n");
}
}
}
}
int main() {
int limit = 1000;
find_armstrong_numbers(limit);
return 0;
}
```
这个程序首先会找出100到999之间的所有水仙花数,并对每个找到的水仙花数调用 `is_prime` 函数检查其是否为素数。
阅读全文