hgdhjgj @ 2024-03-12 17:36:13
#include<stdio.h>
#include<math.h>
bool ispalindrome(int n){//这是一个整数反转的函数例如123可以反转为321
int s=0,k=n;
while(k!=0){
s*=10;
s+=k%10;
k/=10;
}
if(s==n){
return true;
}else{
return false;
}
}
bool isprime(int n){
for(int i=3;i<=sqrt(n);i=i+2){//这里是判断i是不是质数,为什么是i<=n的开平方根呢是因为一个数是由两个比自己小的因数相乘的只要判断找出较小的那个因数如果一个数除以它它本身的因数为零的话就不是质数,而所有的数的因数都小于或等于自身开平方
if(n%i==0){
return false;
}
return true;
}
}
int main(){
int a,b;
scanf("%d %d",&a,&b);
if(a%2==0){//这是因为所有的质数都不是偶数,只要%2为零说明是偶数,只需要继续加就可以了,否则就是奇数然后进行下面操作
a++;
}
if(b>=10000000) {
b=10000000;//这里是因为内存只会运行到7位数,再多就无法运行了,而8位数到1亿所有的数都不是质数因为所有8位数都可以被11整除
}
for(int i=a;i<=b;i=i+2){
if(ispalindrome(i)&&isprime(i)){
printf("%d\n",i);
}
}
return 0;
}
by kevinZ99 @ 2024-03-12 17:38:52
@hgdhjgj 能运行啊,提交
by Zjh_abcdbt_rnfmabj @ 2024-03-12 17:40:47
@hgdhjgj 你语言应该选对了吧……
by Wander_E @ 2024-03-12 18:03:16
@kevinZ99 WA是答案错误……
by lovely_codingcow @ 2024-03-12 18:10:12
想必选错语言
by kevinZ99 @ 2024-03-12 19:49:30
@Wander_E 对啊是WA了啊
by hgdhjgj @ 2024-03-13 15:54:09
语言选错了,其他地方也有错误,谢谢大家了