编写c程序,任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素 数。求 1000 以内的所有回文素数。
时间: 2023-05-28 15:06:07 浏览: 90
```c
#include <stdio.h>
#include <math.h>
// 判断一个数是否为素数
int is_prime(int n)
{
if (n <= 1) {
return 0;
}
int i;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
// 判断一个数是否为回文数
int is_palindrome(int n)
{
int temp = n, reverse = 0;
while (temp != 0) {
reverse = reverse * 10 + temp % 10;
temp /= 10;
}
return reverse == n;
}
int main()
{
int i;
for (i = 1; i <= 1000; i++) {
if (is_prime(i) && is_palindrome(i)) {
printf("%d ", i);
}
}
return 0;
}
```
相关问题
用c语言程序编写:任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素数。求 1000 以内的所有回文素数。
```c
#include <stdio.h>
int isPrime(int n) { // 判断是否为素数的函数
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int isPalindrome(int n) { // 判断是否为回文数的函数
int temp = n, reverse = 0;
while (temp > 0) {
reverse = reverse * 10 + temp % 10;
temp /= 10;
}
return n == reverse;
}
int main() {
for (int i = 1; i <= 1000; i++) {
if (isPalindrome(i) && isPrime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
这个程序首先定义了两个函数:`isPrime` 和 `isPalindrome`。`isPrime` 判断一个数是否为素数,`isPalindrome` 判断一个数是否为回文数。接着在 `main` 函数中,从 `1` 到 `1000` 遍历每个整数,如果是回文素数,则输出这个整数。
用c语言编写程序:任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素 数。求 1000 以内的所有回文素数。
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int num) { // 判断素数函数
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
bool isPalindrome(int num) { // 判断回文数函数
int temp = num, reverse = 0;
while (temp > 0) {
reverse = reverse * 10 + temp % 10;
temp /= 10;
}
return num == reverse;
}
int main() {
for (int i = 1; i < 1000; i++) { // 枚举 1 到 999 的整数
if (isPrime(i) && isPalindrome(i)) { // 判断是否为回文素数
printf("%d\n", i);
}
}
return 0;
}
```
阅读全文