当前位置:   article > 正文

C++ 求出所有的四位可逆素数。_可逆素数c++

可逆素数c++

可逆素数是指一个素数的各位数字顺序倒过来构成的数依然是素数。

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int fanzhuan(int a) //翻转数字
  4. {
  5. return ((a / 1000) % 10) * 1
  6. + ((a / 100) % 10) * 10
  7. + ((a / 10) % 10) * 100
  8. + ((a / 1) % 10) * 1000;
  9. }
  10. int main()
  11. {
  12. int i, j;
  13. char number[10000] = {0}; //将数组里的所有值都初始化为0
  14. for(i = 2; i < 100 + 1; i++)
  15. {
  16. while(number[i]){ //当number[i]=1时就让i++,减少时间消耗。
  17. i++;
  18. }
  19. for(j = i * i; j < 10000; j += i){ //平方的数都不是素数,将不是素数的都标位1;
  20. number[j] = 1;
  21. }
  22. }
  23. for(i = 1000; i < 10000; i++){
  24. if(!number[i] && !number[fanzhuan(i)]){ //这里为了判断逆反和正的都为素数。
  25. printf("%d\n", i); //返回素数答案
  26. }
  27. }
  28. return 0;
  29. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/512291
推荐阅读
相关标签
  

闽ICP备14008679号