关闭

2553完美的素数

标签: c语言编程
1165人阅读 评论(0) 收藏 举报

完美的素数

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

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

输入

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

输出

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

示例输入

11
13

示例输出

YES
NO



  1. #include<stdio.h>  
  2. int sushu(int p);  
  3. int shuhe(int q);  
  4. int main()  
  5. {  
  6.     int n, x, y, z;  
  7.     while(scanf("%d", &n)!=EOF)  
  8.     {  
  9.         x = sushu(n);  
  10.         y = shuhe(n);  
  11.         z = sushu(y);  
  12.         if(x == 1 && z == 1)  
  13.             printf("YES\n");  
  14.         else  
  15.             printf("NO\n");  
  16.     }  
  17.     return 0;  
  18. }  
  19. int sushu(int p)  
  20. {  
  21.     int i, a = 1;  
  22.     for(i = 2; i < p; i++)  
  23.     {  
  24.         if(p % i == 0)  
  25.         {  
  26.             a = 0;  
  27.             break;  
  28.         }  
  29.     }  
  30.     return a;  
  31. }  
  32. int shuhe(int q)  
  33. {  
  34.     int s = 0;  
  35.     while(q > 0)  
  36.     {  
  37.         s = s + q % 10;  
  38.         q = q / 10;  
  39.     }  
  40.     return s;  
  41. }   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:475553次
    • 积分:11459
    • 等级:
    • 排名:第1357名
    • 原创:640篇
    • 转载:3篇
    • 译文:0篇
    • 评论:149条
    最新评论