Gwen_-_ 2021-12-31 15:55 采纳率: 75%
浏览 82
已结题

pta twins问题求解,没思路 c语言

Twins (20 分)
Jacky最近迷上素数,他通过观察发现,很多素数倒着读也是素数,有点像孪生兄弟,比如13是素数,31也是素数,再比如107是素数,701也是素数,请你帮忙Jacky测试某个素数是否有孪生兄弟。

输入格式:
输入一个素数n(n<10000)

输出格式:
如果n有孪生兄弟,输出“Yes”,否则,输出“No”

输入样例:
13
结尾无空行
输出样例:
Yes
结尾无空行

  • 写回答

2条回答 默认 最新

  • a5156520 2021-12-31 16:33
    关注

    一个实现:

    
    #include <stdio.h>
    
    int main(void){
        
        int num,twins;
        int i,j=1;
        int k=1; 
        int start= 0;
        
        //读入一个数 
        scanf("%d",&num);
        
        int temp;
    
        //分解千位 
        temp=num/1000;
        
        //千位不为0,则读入twins,同时标志数已经开始,将开始标志设为1 
        if(temp!=0){
            twins+=temp*k;
            start = 1;
        //    printf("千位:%d\n",twins);
        }
        
        //分解百位 
        temp= num/100%10;
        //如果已经有数,将分解数的权值乘以10  
        if (start==1){
            k*=10; 
        }
        
        //百位不为0,则读入twins,同时标志数已经开始,将开始标志设为1 
        if(temp!=0){
            twins+= temp*k;
            start=1;
        //    printf("百位:%d\n",twins);
        }    
        
        //分解十位 
        temp = num/10%10;
        
        //如果已经有数,将分解数的权值乘以10  
        if (start==1){
            k*=10; 
        }
        
        //十位不为0,则读入twins,同时标志数已经开始,将开始标志设为1 
        if(temp!=0){
            twins+=temp*k;
            start=1;
        //    printf("十位:%d\n",twins);
        }
        
        //分解个位 
        temp = num%10;
        //如果已经有数,将分解数的权值乘以10  
        if (start==1){
            k*=10; 
        }
        
        //个位不为0,则读入twins,同时标志数已经开始,将开始标志设为1 
        if(temp!=0){
            twins += temp *k;
        //    printf("个位:%d\n",twins);
        }
        
    //    printf("twins=%d\n",twins);
        
        //判断孪生数是否为素数,并打印结果 
        for(i=2;i<twins;i++){
            if(twins%i==0){
                j=0;
                printf("No");
                break;
            }
        } 
    
        if(j==1){
            printf("Yes");
        }
        
        return 0;
        
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月29日
  • 已采纳回答 1月21日
  • 创建了问题 12月31日

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用