include<stdio.h>
#include<math.h>
/int main(){
int m,n;
scanf("%d%d",&m,&n);/
int hw(int s) {
int main(){int a,b,p,i=1; while(p==1&&s>0){ b=s%10; int c=s; while(c>=10){ c/=10;i++; } a=c; if(a==b) p=1; else{ p=0;break;} s-=a*pow(10.0,i*1.0-1); s/=10; i=1; }return p; } int su(int s){ for(int i=2;i<sqrt(s);i++){ if(s%i==0) return 0; } return 1; }
int m,n;
scanf("%d%d",&m,&n);
}for(int x=m;x<=n;x++){ if(su(x)==1&&hw(x)==1){ printf("%d",x); } } return 0;

回文素数,不知道为什么没有输出
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- qzjhjxj 2022-10-03 15:57关注
修改如下,供参考:
#include <stdio.h> //#include <math.h> 修改 //int main(){ 修改 // int m,n; 修改 // scanf("%d%d",&m,&n);修改 int hw(int s) { int a = 0,b = s;//,p,i=1; 修改 while (b) { a = a * 10 + b % 10; b /= 10; } return a == s; #if 0 //修改 while(p==1&&s>0){ b=s%10; int c=s; while(c>=10){ c/=10; i++; } a=c; if(a==b) p=1; else{ p=0; break; } s-=apow(10.0,i*1.0-1); s/=10; i=1; } return p; #endif } int su(int s) //修改 { if (s < 4) return s > 1; if (!(s & 1)) return 0; for(int i = 3; i * i <= s ;i++) if(s%i==0) return 0; return 1; } int main() { int m,n; scanf("%d%d",&m,&n); for(int x = m;x <= n; x++){ if(su(x) && hw(x)) //(su(x)==1 && hw(x)==1) 修改 printf("%d ",x); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报