完美的素数

简介: 完美的素数

Problem Description

     素数又称质数。指一个大于1的自然数,除了1和此整数自身外,不能被其他自然数整除的数。我们定义:如果一个素数是完美的素数,当且仅当它的每一位数字之和也是一个素数。现在给你一个正整数,你需要写个程序判断一下这个数按照上面的定义是不是一个完美的素数。

Input

输入包含多组测试数据。

每组测试数据只包含一个正整数 n (1 < n <= 10^6)。

Output

对于每组测试数据,如果 n 是完美的素数,输出“YES”,否则输出“NO”(输出均不含引号)。

Example Input

11
13

Example Output

YES
NO

Hint

Author

qinchuan

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
    int n,x1,x2,i,sum;
    while(scanf("%d",&n)!=EOF)
    {
        x1=0;
        for(i=2; i <= sqrt(n); i++)
    {
        if(n % i == 0)
        {
            x1 = 2;
            break;
        }
    }
    sum=0;
    while(n/10)
    {
        sum=sum+n%10;
        n=n/10;
    }
    sum=sum+n;
    x2=0;
    for(i=2; i<=sqrt(sum); i++)
    {
        if(sum%i==0)
        {
            x2=2;
            break;
        }
    }
    if(x1==0&&x2==0)
        {
            printf("YES\n");
        }
    else
    {
        printf("NO\n");
    }
    }
    return 0;
}



相关文章
|
1月前
素数
素数
27 0
|
1月前
|
Java C++
筛法求质数
筛法求质数
36 0
|
1月前
判断一个素数能被几个9整除
判断一个素数能被几个9整除。
39 1
|
10月前
wustojc5004素数
wustojc5004素数
34 0
|
机器学习/深度学习 C语言
【C素数】素数(质数)和分解质因数
【C素数】素数(质数)和分解质因数
97 0
【C素数】素数(质数)和分解质因数
输出100以内的素数(质数)
输出100以内的素数(质数)
115 0
求自定义范围内的素数(质数)
判定数字是质数需要循环判断 因此需要定义(flag)用于记录循环的结果 结果如图
77 0
求自定义范围内的素数(质数)
求100以内质数或者更多
求100以内质数或者更多
77 0
|
算法 C++
C/C++实现回文质数(超详解)
题目链接 题目描述 输入样例 题解部分 完整代码 未完待续 参考文章
C/C++实现回文质数(超详解)