zoukankan      html  css  js  c++  java
  • 1614: 五位以内的对称素数

    1614: 五位以内的对称素数

    Time Limit: 1 Sec  Memory Limit: 64 MB
    Submit: 464  Solved: 241
    [Submit][Status][Web Board]

    Description

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

    Input

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

    Output

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

    Sample Input

    11 101 272

    Sample Output

    Yes
    Yes
    No


    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF)
        {
        if(weishu(n)&&duichen(n)&&prime(n))
            printf("Yes\n");
        else
            printf("No\n");
        }
    }
    int weishu(int n)
    {
        int a[20],i=1;
        while(n!=0)
        {
            a[i]=n%10;
            n=n/10;
            i++;
        }
        if(i<=5)
            return 1;
        else
            return 0;
    }
    int duichen(int n)
    {
        int a[20],i=0,k,j;
        while(n!=0)
        {
            a[i]=n%10;
            n=n/10;
            i++;
        }
        for(j=0,k=i-1;(j<i)&&(j<=k);j++,k--)
            if(a[j]!=a[k])
            return 0;
        else
            return 1;
    
    }
    int prime(int n)
    {
        int k,i;
        k=sqrt(n);
        for(i=2;i<=k;i++)
            if(n%i==0)
            return 0;
        if(i==k+1)
            return 1;
    }
    

      

  • 相关阅读:
    偏函数
    装饰器
    排序
    匿名函数
    参数传递
    pass语句
    不定长函数
    通用函数
    不定长参数(元祖)
    不定长参数(字典)
  • 原文地址:https://www.cnblogs.com/mjn1/p/8435619.html
Copyright © 2011-2022 走看看