为什么?测试对了,但还是错了!!!
查看原帖
为什么?测试对了,但还是错了!!!
1294772
ValueError楼主2024/9/23 13:09
#include<bits/stdc++.h>
#include<unistd.h>
#include<cstring>
using namespace std;
typedef long long lll;
lll a,b;
bool pd(lll num){//质数返回真,素数返回假 
   if(num==1||num==4) 
      return 0;
   if(num==2||num==3)
      return 1;
   if(num %6!= 1&&num %6!=5)
      return 0 ;
   int tmp =sqrt(num);
   for(int i=5;i<=tmp;i+=6) {       
      if(num%i==0||num%(i+2)==0){
    	return 0 ;
	  }  
	}
}  
bool hw(int n){//回文返回真,否则返回假 
    int n1=n,n2=0;
    while(n>0) {
        n2=n2*10+n%10;
        n/=10;
    }
    return n1==n2;
}
int main(){
    cin>>a>>b;
    for(int i=a;i<=b;i++){
    	if(pd(i) && hw(i)){
    		cout<<i<<endl;
		}
	}
    return 0;
}
2024/9/23 13:09
加载中...