| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1013 人关注过本帖
标题:关于哥德巴赫猜想的一个问题
只看楼主 加入收藏
简单回忆
Rank: 2
来 自:郴州
等 级:论坛游民
帖 子:89
专家分:28
注 册:2011-3-19
结帖率:96.15%
收藏
已结贴  问题点数:20 回复次数:9 
关于哥德巴赫猜想的一个问题
哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求6744可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)    144
这个问题小弟想了很久很久了         就是没有思路啊!!!求路过的大侠给小弟个答案!!!
由于小弟菜鸟      所以请大侠只用简单的循环和函数来做这个问题           不胜感激!!!
搜索更多相关主题的帖子: 哥德巴赫 不胜感激 很久很久 答案 
2011-04-23 22:13
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:4 
程序代码:
for (cnt = 0, i = 3; i < 3372; i+= 2) {
    if (is_prime_p(i) && is_prime_p(6744 - i)) {
        cnt++;
    }
}

其他部分自己写,不要只读别人的代码
2011-04-23 22:57
lhbxxx
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2011-4-23
收藏
得分:4 
我的作业题也做过.
  做个涵数是判断一个数是否素数,主涵数是从1试到目标的就可以了.
2011-04-23 23:08
Noll_Nie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:139
注 册:2011-4-19
收藏
得分:4 
判断从3开始就好了,做到目标减二就可以了吧!
2011-04-24 00:27
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
收藏
得分:4 
我今天发了和你一样的贴,大家一起探讨一下~不过我把程序写完了!
2011-04-24 00:41
songkun123
Rank: 2
等 级:论坛游民
帖 子:19
专家分:15
注 册:2011-4-16
收藏
得分:4 
多看看程序,慢慢就有思路了
2011-04-24 09:16
简单回忆
Rank: 2
来 自:郴州
等 级:论坛游民
帖 子:89
专家分:28
注 册:2011-3-19
收藏
得分:0 
回复 5楼 溦尘心
你写出来了啊!!!可不可以看下你做的咯!!!!!主要是那个函数的地方不知道怎么搞的
2011-04-24 13:50
wubihai7
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2010-3-4
收藏
得分:0 
路是想出来滴!
2011-04-26 18:33
zhaxi0927
Rank: 2
来 自:buct
等 级:论坛游民
帖 子:13
专家分:15
注 册:2011-4-7
收藏
得分:0 
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int IsPrimeNum(int x)
{
    double y=x;
    if(x==2||x==3)return 1;
    else
    {
        int i=2;
        while(i<=sqrt(y)&&x%i!=0)i++;
        if(i<=sqrt(y)) return 0;
        else return 1;

    }      

}   

int main()
{
    int num,count;
    while(cin>>num)
    {
        count=0;
        for(int i=2;i<=num/2;i++)
            if(IsPrimeNum(i)&&IsPrimeNum(num-i))count++;
        cout<<count<<endl;
    }   

    getch();
    return 0;
}
结果是144.

Be strong!
2011-04-27 08:45
zhaxi0927
Rank: 2
来 自:buct
等 级:论坛游民
帖 子:13
专家分:15
注 册:2011-4-7
收藏
得分:0 
程序代码:
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int IsPrimeNum(int x)
{
    double y=x;
    if(x==2||x==3)return 1;
    else
    {
        int i=2;
        while(i<=sqrt(y)&&x%i!=0)i++;
        if(i<=sqrt(y)) return 0;
        else return 1;

    }      

}   

int main()
{
    int num,count;
    while(cin>>num)
    {
        count=0;
        for(int i=2;i<=num/2;i++)
            if(IsPrimeNum(i)&&IsPrimeNum(num-i))count++;
        cout<<count<<endl;
    }   

    getch();
    return 0;
} 
结果144.

Be strong!
2011-04-27 08:46
快速回复:关于哥德巴赫猜想的一个问题
数据加载中...
 
   



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

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