24小时热门版块排行榜    

查看: 2311  |  回复: 30
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangww2011

木虫 (著名写手)

[交流] Project Euler 48 欧拉工程 48 题 已有5人参与

已知 1^1 + 2^2 + 3^3 + ... + 10^10 = 10405071317
请问1^1 + 2^2 + 3^3 + ... + 1000^1000的后十位是多少?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 鼓励讨论! 2011-09-09 23:26:18
引用回帖:
11楼: Originally posted by wangww2011 at 2011-09-08 16:17:27:
觉得出这种题的人最是无聊,这种题目有时候没有唯一解,只要你说的有道理,他就不能算错吧,譬如这个数列可以为
CODE:
22, 26, 23, 23, 24, 21, 25, 18,

理由是奇数项为等差数列,即22,23,24,25可以 ...

老大,你又不是不考过试…非要抬杠~
首先吧,这个通项就是四则运算的简单混合
其次,就是它要是一个自然数到数列的映射
再次,给出的信息要全部要吻合定义域映射到的值域

满足这三个条件的话才能算有道理咯~
你像奇数项是等差,偶数项呢?
后面给出的代码还包含floor操作,这个就不能算四则运算了嘛~

出这种题目就是为了耍耍脑子嘛~别那么大气哦~也不是没有一般方法,用多项式拟合就非常不错,就当怡情啦~
漩涡的中心有一块空地,空空的。
15楼2011-09-08 18:25:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 31 个回答

tieer

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xzhdty(金币+1): 欢迎常来讨论 2011-09-07 16:44:22
暴力这个当然简单,
python
CODE:
print sum([i**i for i in xrange(1,1001)])%10000000000

后十位:9110846700

[ Last edited by tieer on 2011-9-7 at 13:59 ]
思考,让这个世界更有趣。
2楼2011-09-07 13:56:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tieer

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 鼓励交流,欢迎常来程序语言版! 2011-09-09 23:20:49
或者这样快点
CODE:
print sum([(i**i)%10000000000 for i in xrange(1,1001)])%10000000000

思考,让这个世界更有趣。
3楼2011-09-07 14:02:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xzhdty(金币+2): 欢迎常来讨论 2011-09-07 16:44:51
因为
(a*b)%n == ((a%n)*(b%n))%n
CODE:
#include

int main()
{
    unsigned int i, j;
    unsigned long long sum=0, tmp;
    const unsigned long long k=10000000000ULL;
    for(i=1; i<=1000; i++){
        tmp=i;
        for(j=1; j             tmp *= i;
            tmp %= k;
        }
        sum += tmp;
    }

    printf("%010I64u\n", sum%k);

    return 0;
}

4楼2011-09-07 16:29:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见