zoukankan      html  css  js  c++  java
  • 哥德巴赫猜想

    哥德巴赫猜想

    • 100以内的正偶数都能分解为两个素数的和。
    • 素数:又称质数,为在大于1的自然数中,除了1和它本身以外不再有其他的因数的数。
    • 1既不是素数又不是合数。
     1 #include<stdio.h>
     2 
     3 //哥尔巴赫猜想
     4 
     5 int prime(int n)//判断是否为素数
     6 {
     7     int i;
     8     if(1==n)
     9     {
    10         return 0;//不是素数。
    11     }
    12     else if(2==n)
    13         return 1;//是素数
    14     else
    15     {
    16         for(i=2;i<n;i++)
    17         {
    18             if(n%i==0)
    19             {
    20                 return 0;//不是素数
    21             }
    22             else if(n!=i+1)//这句的关键,为什么?
    23                 continue;
    24             else
    25                 return 1;//是素数
    26         }
    27     }
    28 }
    29 int main()
    30 {
    31     int a,b;
    32     int num=0;
    33     int iTemp;
    34     int sum;
    35     for(sum=2;sum<=100;sum=sum+2)
    36     {
    37         for(b=1;b<=sum/2;b++)//其中b<sum/2能够限制数字不重复,避免7+3与3+7同时出现。
    38         {
    39             a=sum-b;
    40             iTemp=prime(a);
    41             if(iTemp==1 && prime(b)==1)
    42             {
    43                 printf("%d+%d=%d  ",a,b,sum);
    44                 num++;
    45                 if(num%5==0)
    46                 {
    47                     printf("
    ");
    48                 }
    49             }
    50         }
    51     }
    52     
    53 
    54     
    55 }
    else if(n!=i+1) continue;
    意思是i的值不等于n-1的时候,结束本次循环,进入下一次循环取一个新的i值,判断该值是否为n的因子。

    如果在2~n-1之间没有找到n的约数,则n为质数,返回0,否则返回1.
     
     
    那为什么不加这句,49也会出来。。。
     
     
    把你完整的程序代码贴出来看看

    如果没有:else if(n!=i+1) continue;

    按照你的思路,这里根本没办法判断一个数是否为质数

    因为:即使一个数,不是质数,也不是说2~n-1之间的每个数,都能被它整除,此时,就返回0了。
  • 相关阅读:
    2017博普杯 东北大学邀请赛(B. Drink too much water)(贪心+树链剖分)
    AGC018D Tree and Hamilton Path(树+树的重心)
    BZOJ2843:极地旅行社
    P++ 1.0.5
    BZOJ1052:[HAOI2007]覆盖问题
    BZOJ3098:Hash Killer II
    BZOJ2784:[JLOI2012]时间流逝
    BZOJ2282:[SDOI2011]消防
    BZOJ1875:[SDOI2009]HH去散步
    Codeforces 504 A (Round #285 div.1 A) Misha and Forest
  • 原文地址:https://www.cnblogs.com/xiaochige/p/6010627.html
Copyright © 2011-2022 走看看