作业帮 > 综合 > 作业

C语言:查找回文素数,找出大于整数m且最靠近m的回文素数,函数返回该回文素数.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 01:25:58
C语言:查找回文素数,找出大于整数m且最靠近m的回文素数,函数返回该回文素数.
1.编写函数long gmval(int m),该函数的功能是:找出大于整数m且最靠近m的回文素数,函数返回该回文素数.
2.编写main函数.从键盘输入整数m的值,调用 gmval函数得到大于整数m且最靠近m 的回文素数
#include <stdio.h>
#include <math.h>
int IsPalin(int n){
  char a[20]={},i=0,j;
  while(n > 0){
    a[i] = n % 10;
    n = n / 10;
    i++;
  }
  i--;
  for(j=0;j<(i+1)/2;j++)
    if(a[j] != a[i-j])
      return 0;
  return 1;
}
int isPrime(int n){
  int i;
  for(i=2;i<=sqrt(n);i++)
    if(n%i==0)return 0;
  return 1;
}
long gmval(int m){
  while(1){
    m++;
    if(isPrime(m) && IsPalin(m))
      return m;
  }
}
void main() {
  unsigned long m;
  printf("请输入m的值:\n");
  scanf("%d",&m);
  printf("最接近%d的回文素数是%d\n",m,gmval(m));
}