24小时热门版块排行榜    

查看: 1330  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

holmescn

金虫 (正式写手)

[交流] Euler 工程 第廿七题:系数的积 已有4人参与

Euler大牛给出了一个很牛的二次公式:
引用回帖:
n^2 + n + 41

这个很牛的公式, 当n 从0取到39的时候,能给出40个质数. 可是当n=40的时候,就失灵了.

使用计算机, 我们又得到一个更牛的公式
引用回帖:
n^2 - 79n + 1601

这哥们,当n从0取到79的时候,能给出80个质数.

如果我们定义这样的一个二次公式: n^2 + an + b
a 和 b 的绝对值都小于1000, 当这个公式能产生最多的质数的时候, 给出a和b的积.

致歉:
开始译的时候,我理解错了,结果给出错误的表述,让大家产生了误解,在这里说声对不起了。

[ Last edited by holmescn on 2011-6-16 at 19:54 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★ ★
余泽成(金币+3): 鼓励交流! 2011-06-18 16:08:15
我还以为表达清楚了呢. 其实就是n从0取到m,这m+1个数都是质数.然后看a*b等于多少.

Matlab版的穷举法:
CODE:
tic
maxn = 0;
maxp = [0 0];
for a = -1000:1000
    for b = -1000:1000
        n = 0;
        while (n^2 + a*n + b) > 0 && isprime(n^2 + a*n +b)
            n = n + 1;
        end
        if n > maxn
            maxn = n;
            maxp = [a b];
            fprintf('maxn=%d\n', maxn);
        end
    end
end
fprintf('a=%d,b=%d, a*b=%d\n', maxp(1), maxp(2), maxp(1)*maxp(2));
toc

结果:
引用回帖:
a = -61,  b = 971,  a*b = -59231
用时 150 秒. 共有72个质数

[ Last edited by holmescn on 2011-6-16 at 16:37 ]
5楼2011-06-16 16:36:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★
余泽成(金币+2): 辛苦了! 2011-06-18 16:08:40
修改以后, 假设b是质数,这样时间变成原来的三分之一了
CODE:
tic
bprime = primes(1000);
maxn = 0;
maxp = [0 0];
for a = -1000:1000
    for i = 1:length(bprime)
        n = 0;
        b = bprime(i);
        while (n^2 + a*n + b) > 0 && isprime(n^2 + a*n +b)
            n = n + 1;
        end
        if n > maxn
            maxn = n;
            maxp = [a b];
        end
    end
end
fprintf('a=%d,b=%d, a*b=%d\n', maxp(1), maxp(2), maxp(1)*maxp(2));
toc

7楼2011-06-16 16:50:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

引用回帖:
Originally posted by libralibra at 2011-06-16 16:23:25:
这个只能暴力解吧,

[code] #include <stdio.h>
#include <stdlib.h>
#include <math.h>

bool isPrime(int n)
{
        int i;
        bool flag = true;
        for(i=2;i<sqrt(abs(n));i++)
        {
...

如果先给b生成一个质数表呢, 我想还能再快, 可能不到1秒了.
8楼2011-06-16 16:55:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 holmescn 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见