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

    题目描述:

             哥德巴赫猜想:任何大偶数均可以表示为2个素数之和。

    实验任务:

           验证哥德巴赫猜想。计算给定的大偶数可以表示为多少对素数之和。例如,大偶数10,可以表示为2对素数3,7和5,5之和;

    解题思路:构造素数表;

     1 #include<stdio.h>
     2 #define num 1000
     3 int a[num]={2,3};//素数数组
     4 void db()
     5 {
     6     
     7     int flag,t=2;
     8     for(int i=5;;i+=2)
     9     {
    10         flag=1;
    11         for(int j=0;a[j]*a[j]<i;j++)
    12         {
    13             if(i%a[j]==0)
    14             {
    15                 flag=0;
    16                 break;
    17             }
    18         }
    19         if(flag=1)
    20             a[t++]=i;
    21         if(t==num)
    22             break;
    23     }
    24 }
    25 
    26 int main()
    27 {
    28     int n,o=0;
    29     db();
    30     while(scanf("%d",&n)!=EOF)
    31     {
    32         int ans=0;
    33         for(int i=0;i<=num&&a[i]<=n/2;i++)//终止条件为a[i]的值超过n/2值
    34         {
    35             for(int j=0;j<=num;j++)
    36             {
    37                 if(a[i]+a[j]>n)
    38                     break;
    39                 else if(a[i]+a[j]==n)
    40                 {
    41                     o=1;//找到
    42                     ans++;
    43                     printf("大偶数的素数对为:
    %d %d
    ",a[i],a[j]);
    44                     break;
    45                 }
    46             }
    47         }
    48         if(o==0)
    49             printf("%d不存在素数对
    ",n);
    50         else
    51             printf("total=%d
    ",ans);
    52         ans=o=0;
    53     }
    54     return 0;
    55 }
  • 相关阅读:
    layer ----- 弹层
    php start
    node.js使用iconv-lite和zlib解决gzip压缩和gbk乱码
    AngularJS中promise的使用
    AngularJS中的$routeProvider
    AngularJS入门教程记录
    AngularJS中的$resource
    Javascript原型易错点记录
    触屏相关事件问题记录
    图片预加载
  • 原文地址:https://www.cnblogs.com/zeze/p/gedebahe.html
Copyright © 2011-2022 走看看