ACACACACACACTLETLETLE,开O2也不管用,求优化
查看原帖
ACACACACACACTLETLETLE,开O2也不管用,求优化
373226
justinjia楼主2020/10/24 14:02
#include"stdio.h"
#include"math.h"
int weishu(int a){
    int i;
    for(i=1;pow(10,i)<=a;i++){//循环体为空
    }
    return i;
}
int tiqushuwei(int a,int i){
    return a/int(pow(10,i-1)/*pow()的返回值是double*/)%10;
}
bool isPrime(int a){//我写过不下十遍的函数
    if(a<2)
        return 0;
    else{
        for(int i=2;i*i<=a;i++)
            if(a%i==0)
                return 0;
        return 1;//层次关系很明显
    }
}
bool isPalindrome(int a){
    for(int i=1;i<=weishu(a)/2;i++)
        if(!(tiqushuwei(a,i)==tiqushuwei(a,weishu(a)-i+1)))
            return 0;
    return 1;
}
int main(void){
    int a,b;
    scanf("%d%d",&a,&b);
    for(int i=a;i<=b;i++)
        if(isPrime(i)&&isPalindrome(i))
            printf("%d\n",i);
    return 0;
}
2020/10/24 14:02
加载中...