开O2过了,不开怎么过。。。。
查看原帖
开O2过了,不开怎么过。。。。
72921
jor蛋楼主2021/9/1 11:06

已经不知道怎么优化了。。。用特例好像没用?

#include<stdio.h>
#include<math.h>
int pan(int p){
    int i,o=0;
    for(i=2;i<=sqrt(p);i++){
        if(p==2){
            break;
        }
        if(p%i==0){
            o=1;
            break;
        }
    }
    if(o==1)
        return 1;
    else 
        return 0;
}
int hw(int m){
	int s=m,j=0,p=0,t,g=m,i=0;
	do{
		i++;
		m=m/10;
	}while(m>0);
	while(++j<=i){
		t=s%10;
		s=s/10;
		p=t+p*10;
	}
	if(p==g){
		if(pan(p)==0)
			printf("%d\n",p);
	}
}
int main(){
	int a,b,i;
	scanf("%d%d",&a,&b);
	for(i=a;i<=b;i++){
		if(i%2==1)
			hw(i);
	}
}
2021/9/1 11:06
加载中...