24小时热门版块排行榜    

查看: 917  |  回复: 3

yatou99

铜虫 (正式写手)

[求助] 对于编程的问题一无所知,小女子求助谁能帮忙解一道题,灰常感谢!

我们开设了C++的课程,可是我没有基础,连C语言都没学过,第一次上课,真是雾里看花,什么都不懂,课后老师还布置了一道貌似很简单的题,但是我真是不会做,希望哪位智者人士救救我吧!小女子将感激不尽啊!!!!!
题目是:从8到100000,找出每个偶数都可以分解成两个素数之和。请写出具体的代码。
(灰常感激您的帮助,谢谢您,您是一个好人!祝福您天天开心!)
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

【答案】应助回帖


yatou99(金币+5): 谢谢! 2011-09-21 12:20:23
jjdg(金币+1): 感谢参与 2011-09-22 00:34:08
这个题真的很简单,不过鉴于楼主不会C++,就来个C++代码则个:
CODE:
#include
#include
#include

using namespace std;
class PrimeSet {
public:
        set primes;
        PrimeSet(int l, int r);
};

PrimeSet::PrimeSet(int l, int r){
        primes.insert(3);
        for(int i = 5; i < r; i += 2){
                set::iterator it;
                for(it = primes.begin(); it != primes.end(); ++it){
                        if(i%*it == 0)
                                break;
                }
                if(it == primes.end())
                        primes.insert(i);
        }
}

class PairMaker {
        const set
public:
        PairMaker(const set &ps);
        pair operator ()(int d);
};

PairMaker::PairMaker(const set &ps):primes(ps){}

pair PairMaker::operator()(int d){
        for(set::iterator it = primes.begin(); it != primes.end(); ++it){
                if(primes.count(d-*it)){
                        return make_pair(*it, d-*it);
                }
        }
        return make_pair(0, 0);
}

void print_pair(const pair &pair){
        cout< }

int main(){
        int left = 8, right = 100000;
        PrimeSet ps(left, right);
        PairMaker maker(ps.primes);
        for(int i = left; i <= right; i+=2){
                print_pair(maker(i));
        }
        return 0;
}

漩涡的中心有一块空地,空空的。
2楼2011-09-21 11:01:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★
jjdg(金币+2): 感谢 2011-09-22 00:34:18
换一个,上面那个属于错误示范
CODE:
#include
#include
#include

using namespace std;
class PrimeSet {
        vector primes;
public:
        PrimeSet(int l, int r);
        pair sumOfHomework(int d) const;
};

PrimeSet::PrimeSet(int l, int r):primes(r, true){
        for(int i = 2; i < r; ++i){
                if(!primes[i])
                        continue;
                for(int j = i+i; j < r; j += i){
                        primes[j] = false;
                }
        }
}

pair PrimeSet::sumOfHomework(int d) const{
        for(int i = 3; i < primes.size(); ++i){
                if(primes[i] && primes[d-i]){
                        return make_pair(i, d-i);
                }
        }
        return make_pair(0, 0);
}

class PairMaker {
        const PrimeSet ℙ
public:
        PairMaker(const PrimeSet &ps);
        pair operator ()(int d);
};

PairMaker::PairMaker(const PrimeSet &ps):primes(ps){}

pair PairMaker::operator()(int d){
        return primes.sumOfHomework(d);
}

void print_pair(const pair &pair){
        cout< }

int main(){
        int left = 8, right = 100000;
        PrimeSet ps(left, right);
        PairMaker maker(ps);
        for(int i = left; i <= right; i+=2){
                print_pair(maker(i));
        }
        return 0;
}

漩涡的中心有一块空地,空空的。
3楼2011-09-21 11:48:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yatou99

铜虫 (正式写手)

引用回帖:
2楼: Originally posted by huycwork at 2011-09-21 11:01:19:
这个题真的很简单,不过鉴于楼主不会C++,就来个C++代码则个:
[code]
#include <iostream>
#include <set>
#include <utility>

using namespace std;
class PrimeSet {
public:
        se ...

哈哈,谢谢咯!真感激你呀!
4楼2011-09-21 12:19:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yatou99 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 6F5UbRU2I5hL 2026-09-14 4/200 2026-09-16 17:51 by i3KBRD19ERkG
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 s3fFTmArrBt6 2026-09-14 6/300 2026-09-16 16:48 by i3KBRD19ERkG
[找工作] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +7 3n8v2C8RimXI 2026-09-13 7/350 2026-09-16 15:12 by i3KBRD19ERkG
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 QUjhNVAcOSff 2026-09-13 6/300 2026-09-16 14:27 by i3KBRD19ERkG
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +8 两三岁ss 2026-09-14 8/400 2026-09-16 09:46 by 水士口
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-16 08:51 by SjQobnC04j06
[博后之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-16 08:27 by SjQobnC04j06
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 0pYnUiPDfdnk 2026-09-14 3/150 2026-09-16 06:51 by LH5NkK5Ud4bh
[考研] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 23jxep3nCNZb 2026-09-14 3/150 2026-09-16 05:51 by LH5NkK5Ud4bh
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 6F5UbRU2I5hL 2026-09-14 5/250 2026-09-16 04:51 by LH5NkK5Ud4bh
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-16 03:23 by DgNGHc3h5tPl
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 3n8v2C8RimXI 2026-09-13 5/250 2026-09-16 03:02 by DgNGHc3h5tPl
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 3n8v2C8RimXI 2026-09-13 5/250 2026-09-16 02:50 by DgNGHc3h5tPl
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 s3fFTmArrBt6 2026-09-14 5/250 2026-09-15 16:59 by CgyNCDVNhGVg
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 s3fFTmArrBt6 2026-09-14 7/350 2026-09-15 16:47 by CgyNCDVNhGVg
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-14 5/250 2026-09-15 16:39 by CgyNCDVNhGVg
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 3n8v2C8RimXI 2026-09-13 7/350 2026-09-15 14:49 by VMDqgnlKimtZ
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 6F5UbRU2I5hL 2026-09-14 4/200 2026-09-15 07:50 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 s3fFTmArrBt6 2026-09-13 4/200 2026-09-15 06:50 by 5BDX0d0WFp7t
[考博] 27秋季材料博士申请求助 10+3 Cahal1 2026-09-11 4/200 2026-09-14 08:50 by 北京莱茵编辑
信息提示
请填处理意见