100c之31:哥德巴赫猜想

本文提供了一个C语言程序,用于验证哥德巴赫猜想在2000以内的正偶数是否都能分解为两个素数之和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

哥德巴赫猜想:验证2000以内的正偶数都能分解为两个素数之和( 即验证哥德巴赫猜想对2000以内的正偶数成立 )

分析

穷举

解决方案

 1:  /**
 2:   * @file   031c.c
 3:   * @author Chaolong Zhang <emacsun@163.com>
 4:   * @date   Mon Jun  3 23:20:36 2013
 5:   */
 6:  
 7:  #include <stdio.h> 
 8:  
 9:  int is_prime ( int n );
10:  
11:  int main(int argc, char *argv[])
12:  {
13:      int n,n1;
14:      int flag1,flag2;
15:  
16:  
17:      for (n=6; n <= 2000; ++n)
18:          if (n%2==0 )
19:          {
20:              for (n1=2;n1<= n/2 ; ++n1)
21:              {
22:                  flag1=is_prime ( n1 );
23:                  flag2=is_prime ( n-n1 );
24:  
25:                  if ( flag1 && flag2 )
26:                      printf ("%d = %d + %d\n", n, n1,n-n1);
27:              }
28:          }
29:      return 0;
30:  }
31:  
32:  int is_prime ( int n )
33:  {
34:      int i;
35:      int flag=1;
36:      if (n==2 || n==3)
37:          return flag;
38:      for ( i = 2; i <= ( n/2 + 1 ); ++i) 
39:          if (n%i == 0 ) {
40:              flag=0;return flag;
41:          }
42:  
43:  }

输出结果

略。通过本程序可以找出正偶数的所有可能的两素数之和。

转载于:https://www.cnblogs.com/chaolong/archive/2013/06/03/3116289.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值