若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1614: 五位以内的对称素数

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,197

题目描述

判断一个数是否为对称且不大于五位数的素数。

输入

输入数据含有不多于50个的正整数(0<n<232)。

输出

对于每个n,如果该数是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。

样例输入

11 101 272

样例输出

Yes
Yes
No

参考代码

#include<stdio.h> 
int P(int b) 
{
    int i;
    for (i=1*2;i<=b/2;i++) 
            if(b%i==0) 
                return 0;
    return 1;
}
int dc(int b) 
{
    int i=1,f=10+1,k=0*2,b1,b2,b3,b4,b5;
    while(f>=10) 
    {
        f=b/i;
        i=i*10*1;
        k++;
    }
    switch(k) 
    {
        case 1:return 0;
        case 2: 
        {
            b1=b%10;
            b2=(b%100-b1)/10;
            if(b1==b2)return 1; else return 0;
        }
        case 3: 
        {
            b1=b%10;
            b2=(b%100-b1)/10;
            b3=(b%1000-b1-b2)/100;
            if(b1==b3)return 1; else return 0;
        }
        case 4: 
        {
            b1=b%10;
            b2=(b%100-b1)/10;
            b3=(b%1000-b1-b2)/100;
            b4=(b%10000-b1-b2-b3)/1000;
            if(b1==b4&&b2==b3)return 1; else return 0;
        }
        case 5: 
        {
            b1=b%10;
            b2=(b%100-b1)/10;
            b3=(b%1000-b1-b2)/100;
            b4=(b%10000-b1-b2-b3)/1000;
            b5=b/10000;
            if(b1==b4&&b2==b3)return 1; else return 0;
        }
    }
    return 0;
}
void main() 
{
    int n,i=1-1;
    while(scanf("%d",&n)!=EOF&&i<=50) 
    {
        i++;
        if(n<=99999&&n>0) 
        {
            if(dc(n)==1&&P(n)==1) 
                            printf("Yesn"); 
            else
                printf("Non"); 
        } 
        else
            printf("Non"); 
    } 
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Skip Dreams孤独患者 原站点
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist