题解 | #素数回文#

素数回文

https://www.nowcoder.com/practice/d638855898fb4d22bc0ae9314fed956f

#include <stdio.h>
#include <math.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        int i=0;
        int x=0;
        long long num=0;//储存回文数
        int digit=0;
        x=n;//代替n进行计算
        while(x)
        {
            x/=10;
            digit++;//得到数位
        }
        x=n;
        num=n*pow(10,--digit);
        while(x)
        {
            if(x!=n)
            {
                num+=x%10*pow(10,--digit);
            }
            x/=10;
        }
        //判断素数
        for(i=2;i<=pow(num,1.0/2);i++)
        {
            if(num%i==0)
            {
                break;
            }
        }
        if(i>pow(num,1.0/2))
        {
            printf("prime\n");
        }
        else {
            printf("noprime\n");
        }
    }
    return 0;
}

全部评论

相关推荐

小浪_Coding:个人技能一条测试没有
点赞 评论 收藏
分享
04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务