| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 731 人关注过本帖
标题:关于哥德巴赫猜想的一些疑问
只看楼主 加入收藏
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:10 
关于哥德巴赫猜想的一些疑问
#include<stdio.h>
#include<math.h>
main()
{
int i,n,j,k,m,l=0;
for(i=4;i<=1000;i+=2)
{
for(n=2;n<i;n++)
{
for(j=2,k=1;j<=(int)sqrt(n);j++)/*判断n是否素数*/
{
if(n%j==0) k=0;

}
if(k) /*n是素数继续判断i-n是否素数*/ /*这里不明白是什么意思~下面的if(m)也一样*/
for(j=2,m=1;j<=(int)sqrt(i-n);j++)/*判断i-n是否素数*/
{
if((i-n)%j==0) m=0;

}
if(m)
{
printf("%d=%d+%d  ",i,n,i-n);
l++;
if (l%5==0)
printf ("\n");
break;
}
}
if(n==i) printf("error %d\n",i);/*n等于i,i不遵循哥德巴赫猜想*/
}
}






那位兄台给详细的解释一下这个程序!~~
搜索更多相关主题的帖子: 哥德巴赫 
2011-04-23 18:25
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:4 
1 为真
0 为假
其他的自己在认真多读几遍程序就明白了吧
2011-04-23 18:50
ucyan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:61
专家分:198
注 册:2011-4-12
收藏
得分:4 
k,m它们的值不等于0的话为真,否者为假~~
哥德巴赫猜~~~~
2011-04-23 19:14
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:4 
你的程序能不能有些缩进,弄成一片太难读了。另外,把判别素数做成函数会清晰的多。
给你一个做参考。
程序代码:
//部分验证歌德巴赫猜想

#include <stdio.h>
#include <math.h>
//----------------------
int isPrime(int m)
{
    int i,k;
    k=sqrt(m);                   
    for(i=2;i<=k;i++)
        if(m%i==0) return 0;
    return 1;
}
//----------------------
int main()
{   int m,p,q;
     printf("    部分验证歌德巴赫猜想: \n");
     for(m=6;m<=100;m=m+2)
     {
             for(p=3;p<m-2;p=p+2)            //分解m为p+q:  p可以取3~m-3, q=m-p  
                if(isPrime(p))                //首先验证p是否为素数
                {
                    q=m-p;
                    if(isPrime(q))            //当q也是素数时,输出m的素分解p+q.      
                    {
                        printf("  %d=%d+%d\n",m,p,q);
                        break;                        
                    }
                }
     }
     return 0;
}

 
2011-04-23 20:44
帅的让人抽
Rank: 4
来 自:安徽
等 级:业余侠客
帖 子:94
专家分:224
注 册:2010-9-30
收藏
得分:4 
……

樱花下落的速度依然是秒速五厘米,即使发了一千次短信,
心与心之间也只能靠近一厘米……
2011-04-23 21:18
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
收藏
得分:4 
编程验证歌德巴赫猜想:任何一个大于6的偶数都可以分解为两个素数和。

#include<stdio.h>
#include<math.h>
int fflag(int n);
 main()
{ int i,n;
for(i=4;i<=2000;i+=2)/*4到2000的偶数*/
{  for(n=2;n<i;n++) /*将偶数i分解为两个整数*/
if(fflag(n)) /*分别判断两个整数是否均为素数*/
if(fflag(i-n))
{ printf("%14d=%d+%d\n",i,n,i-n); /*若均是素数则输出*/
  break;  }
if(n==i) printf("error %d\n",i);
}   getch(); }

int fflag(int i) /*判断i是否为素数*/
{
int j;
if(i<=1)return 0;
if(i==2)return 1;
if(!(i%2))return 0; /*if no,return 0*/
for(j=3;j<=(int)(sqrt((double)i)+1);j+=2)
if(!(i%j))return 0;
return 1; /*if yes,return 1*/
2011-04-23 21:37
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
收藏
得分:0 
回复 2楼 voidx
谢谢
2011-04-24 00:33
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
收藏
得分:0 
回复 3楼 ucyan
好像是等于零往下做吧!
2011-04-24 00:34
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
收藏
得分:0 
回复 4楼 kwxx
谢谢,但是有些代码老师没教,我知道什么意思但是不敢用~老师打压超前,我主要是想了解程序意思,我自己懂一些,大家更懂一些!
2011-04-24 00:36
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
收藏
得分:0 
回复 6楼 粉jj
谢谢,学习了!
2011-04-24 00:37
快速回复:关于哥德巴赫猜想的一些疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027790 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved