当前位置:   article > 正文

偶数分解成两个素数的和_matlab1000以内的两个素数和可以用偶数表示

matlab1000以内的两个素数和可以用偶数表示
  1. #include<stdlib.h>
  2. #define N 1000000
  3. int map[N] = {0};
  4. int isPrimary(int n)
  5. {
  6. int i;
  7. if(n == 2)
  8. {
  9. return 1;
  10. }
  11. for(i = 2; i*i <= n; i++)
  12. {
  13. if(n % i == 0)
  14. {
  15. return 0;
  16. }
  17. }
  18. return 1;
  19. }
  20. void initMap(int* map)
  21. {
  22. int i;
  23. for(i = 2; i <= N; i++)
  24. {
  25. if(isPrimary(i) == 1)
  26. {
  27. map[i] = 1;
  28. }
  29. }
  30. }
  31. void findPrimary(int n)
  32. {
  33. int i;
  34. if(n % 2 != 0 || n < 1)
  35. {
  36. return;
  37. }
  38. for(i = 2; i <= n; i++)
  39. {
  40. if(map[i])
  41. {
  42. if(map[n - i])
  43. {
  44. if(i <= n / 2)
  45. {
  46. printf("%d = %d + %d \n",n,i,n-i);
  47. }
  48. }
  49. }
  50. }
  51. }
  52. int main()
  53. {
  54. initMap(map);
  55. findPrimary(10000);
  56. }

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

闽ICP备14008679号