趣学算法之哥德巴赫猜想的实现
        【摘要】  1、哥德巴赫猜想 
          任意大于2的偶数,都可以表示成为2个素数之和 
 
    
 
    
 
    
 
  
  
 2、代码实现 
 
 #include <iostream>#include <math.h> using ...
    
    
    
    1、哥德巴赫猜想
          任意大于2的偶数,都可以表示成为2个素数之和 
 2、代码实现
   
    - 
     
      
     
     
      
       #include <iostream>
      
     
 
    - 
     
      
     
     
      
       #include <math.h>
      
     
 
    - 
     
      
     
     
       
      
     
 
    - 
     
      
     
     
      
       using namespace std;
      
     
 
    - 
     
      
     
     
       
      
     
 
    - 
     
      
     
     
      
       //判断是否是质数
      
     
 
    - 
     
      
     
     
      
       bool isPrime(int n)
      
     
 
    - 
     
      
     
     
      
       {
      
     
 
    - 
     
      
     
     
      
          if (n < 2)
      
     
 
    - 
     
      
     
     
      
        return false;
      
     
 
    - 
     
      
     
     
      
        if (n == 2)
      
     
 
    - 
     
      
     
     
      
        return true;
      
     
 
    - 
     
      
     
     
      
        for (int i = 2; i <= (int)sqrt((double)n); i++)
      
     
 
    - 
     
      
     
     
      
        if (n % i == 0)
      
     
 
    - 
     
      
     
     
      
        return false;
      
     
 
    - 
     
      
     
     
      
        return true;
      
     
 
    - 
     
      
     
     
      
       }
      
     
 
    - 
     
      
     
     
      
       
      
     
 
    - 
     
      
     
     
      
       //哥得巴赫猜想实现
      
     
 
    - 
     
      
     
     
      
       void gedebahe()
      
     
 
    - 
     
      
     
     
      
       {
      
     
 
    - 
     
      
     
     
      
        //我们从数字4开始遍历到2000
      
     
 
    - 
     
      
     
     
      
        for (int i = 4; i <= 2000; i += 2)
      
     
 
    - 
     
      
     
     
      
        {
      
     
 
    - 
     
      
     
     
      
        //我们需要把每个数字进行分割,遍历出所有的素数组合和等于i
      
     
 
    - 
     
      
     
     
      
        for (int j = 2; j <= i; j++)
      
     
 
    - 
     
      
     
     
      
        {
      
     
 
    - 
     
      
     
     
      
        //我们需要第一个条件满足是素数的情况下才去判断另外一个数是否为素数
      
     
 
    - 
     
      
     
     
      
        if (isPrime(j))
      
     
 
    - 
     
      
     
     
      
        {
      
     
 
    - 
     
      
     
     
      
        int another = i - j;
      
     
 
    - 
     
      
     
     
      
        //判断另外一个数是不是素数
      
     
 
    - 
     
      
     
     
      
        if (isPrime(another))
      
     
 
    - 
     
      
     
     
      
        {
      
     
 
    - 
     
      
     
     
      
        
      
     
 
   
   
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/78966726
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)