• XTU-OJ 1295-Flawless Prime


    题目描述

    如果一个素数,依次去掉最高位得到一个数,这个数无前导0,并仍是素数的话,我们称其为“无瑕素数”。
    比如317是素数,去掉最高位3得到17仍然是素数,再去掉最高位1得到7,仍然是素数,所以317是“无瑕素数”。
    比如虽然107是素数,去掉最高位1得到7也是素数,但是因为存在前导0,所以这不是无瑕素数。
    请写一个程序,判断某个素数是不是无瑕的。

    输入

    第一行是一个整数K,表示样例的个数。 以后每行一个整数n(2≤n≤1,000,000,000)。

    输出

    如果是无瑕素数,输出“Yes”,否则输出“No”。

    样例输入

    3
    3
    107
    317
    

    样例输出

    Yes
    No
    Yes

    解题思路:本题没有多大难度,跟着题目思路走,很轻松就能过。

    具体看代码注释,应该没有难懂的地方。

    AC代码: 

    1. #include
    2. int k,n,cnt;
    3. int nut[12];
    4. bool flag1,flag2;
    5. bool isPrime(int num)
    6. {
    7. if (num == 1) return false;
    8. for (int i = 2; i*i <= num; i ++)
    9. if ( num%i == 0)
    10. return false;
    11. return true;
    12. }
    13. bool exam(int np)
    14. {
    15. int s,t;
    16. cnt = s = 1;
    17. while ( np ) // 题目是逐个去掉最高位,这里是从个位数开始复原(逆过程),简单一点
    18. {
    19. t = np%10;
    20. if (t == 0)
    21. return false;
    22. nut[cnt] = t*s+nut[cnt-1];
    23. cnt ++;
    24. s *= 10, np /= 10;
    25. }
    26. return true;
    27. }
    28. int main()
    29. {
    30. scanf("%d",&k);
    31. while ( k --)
    32. {
    33. scanf("%d",&n);
    34. // 先用两个判断解决掉绝大部分数字
    35. if ( n == 2 || n == 3 || n == 5 || n == 7) {puts("Yes");continue;}
    36. if ( n%2==0 || n%3==0 || n%5==0 || n%7==0) {puts("No");continue;}
    37. // 检查数字n中,是否含有0,同时把n逐个拆解
    38. flag1 = exam(n);
    39. if (flag1)
    40. {
    41. for (int i = 1; i < cnt; i ++)
    42. {
    43. // 检查 n及 其依次去掉高位的数 是否都是素数
    44. flag2 = isPrime(nut[i]);
    45. if (!flag2)
    46. break;
    47. }
    48. if (flag2) puts("Yes");
    49. else puts("No");
    50. }
    51. else puts("No");
    52. }
    53. return 0;
    54. }

  • 相关阅读:
    STM: SpatioTemporal and Motion Encoding for Action Recognition 论文阅读
    ArrayBlockingQueue源码分析
    十年架构五年生活-08 第一次背锅
    怎么开发自己的NFT平台
    AUTOSAR 面试知识回顾
    Qt中QFile、QByteArray QDataStream和QTextStream区别
    JVM之内存区域划分、类加载和垃圾回收
    elasticsearch 其他优化
    vue基于vant实现图片上传
    新加坡服务器搭建网站出现PHP错误怎么处理?
  • 原文地址:https://blog.csdn.net/Jay_is_Chou/article/details/133896467