c 语言求素数回文数
时间: 2023-07-02 12:16:28 浏览: 163
好的,以下是 C 语言实现求素数和回文数的代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断一个数是否为素数
bool is_prime(int num)
{
if (num < 2) {
return false;
}
for (int i = 2; i <= num/2; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
// 判断一个数是否为回文数
bool is_palindrome(int num)
{
int temp = num, reverse = 0;
while (temp != 0) {
reverse = reverse * 10 + temp % 10;
temp /= 10;
}
return num == reverse;
}
int main()
{
int n;
printf("请输入一个正整数 n:");
scanf("%d", &n);
printf("1 到 %d 的素数有:", n);
for (int i = 2; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n1 到 %d 的回文数有:", n);
for (int i = 1; i <= n; i++) {
if (is_palindrome(i)) {
printf("%d ", i);
}
}
return 0;
}
```
在上面的代码中,我们使用了 `is_prime()` 函数来判断一个数是否为素数,使用 `is_palindrome()` 函数来判断一个数是否为回文数。在主函数中,我们输入一个正整数 `n`,然后分别输出 `1` 到 `n` 之间的素数和回文数。
需要注意的是,由于 `bool` 类型是 C99 标准引入的,因此如果编译器不支持 C99 标准,需要手动定义 `bool` 类型及其取值 `true` 和 `false`,或使用 `int` 类型代替 `bool` 类型。
阅读全文