24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2175  |  回复: 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的回帖

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的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2011-09-08 10:08:40
ben_ladeng: 2011-09-09 12:47:39
这我当时写的,但是现在看不明白注释了
python
CODE:
# 只要最后10位,所以能被10整除的不用计算,不影响结果
print str(reduce(lambda x,y:x+y,[c**c for c in xrange(1,1001) if c%10!=0]))[-10:]

结果
9110846700
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2011-09-08 01:03:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)


余泽成(金币+1): 鼓励交流! 2011-09-09 23:21:16
引用回帖:
5楼: Originally posted by libralibra at 2011-09-08 01:03:26:
这我当时写的,但是现在看不明白注释了
python
CODE:
# 只要最后10位,所以能被10整除的不用计算,不影响结果
print str(reduce(lambda x,y:x+y,[c**c for c in xrange(1,1001) if c%10!=0]))[-10:]

结 ...

确实没有注意到能被10整除的不用计算
因为取最后十位,用取余的办法就是对10^10取余,就相当于底对10取余了,所以如果 a%10=0,则有(a^a)%(10^10)=0,所以可以不加
6楼2011-09-08 08:44:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 呵呵,鼓励交流! 2011-09-09 23:21:53
引用回帖:
4楼: Originally posted by sudo at 2011-09-07 16:29:58:
因为
(a*b)%n == ((a%n)*(b%n))%n

[code]
#include <stdio.h>

int main()
{
    unsigned int i, j;
    unsigned long long sum=0, tmp;
    const unsigned long long k=10000000000ULL;
...

数论功底很扎实呀~
俺这有个数组,看好久没看出来,你给解解:
22   26   ()   23   24    21  ()    18
死活就是看不出来这俩空该填啥?
漩涡的中心有一块空地,空空的。
7楼2011-09-08 11:36:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3): 强,呵呵! 2011-09-09 23:22:32
引用回帖:
7楼: Originally posted by huycwork at 2011-09-08 11:36:36:
数论功底很扎实呀~
俺这有个数组,看好久没看出来,你给解解:
22   26   ()   23   24    21  ()    18
死活就是看不出来这俩空该填啥?

+.+瞪了很久,有点牵强:
22  26  (20)  23  24  21  (23)  18  (27)
CODE:
22   26  (20)
23   24   21
(23) 18  (27)

正好每行每列的和都是68...
8楼2011-09-08 13:09:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 鼓励交流! 2011-09-09 23:23:07
引用回帖:
8楼: Originally posted by sudo at 2011-09-08 13:09:37:
+.+瞪了很久,有点牵强:
22  26  (20)  23  24  21  (23)  18  (27)
CODE:
22   26  (20)
23   24   21
(23) 18  (27)

正好每行每列的和都是68...


你这莫非就是传说中的立体式全方位视角呵呵~
不过这个题是看规律的,要一个通项公式的。是个前些天CVT招聘的职业测评题。
漩涡的中心有一块空地,空空的。
9楼2011-09-08 13:44:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 鼓励交流! 2011-09-09 23:23:16
引用回帖:
9楼: Originally posted by huycwork at 2011-09-08 13:44:59:

你这莫非就是传说中的立体式全方位视角呵呵~
不过这个题是看规律的,要一个通项公式的。是个前些天CVT招聘的职业测评题。

不思考啦伤脑细胞...

不过这个“通项公式”是怎么定义的?是不是必须能写成f(n)的形式而且要求f(n)不能递归定义、不能为分段函数?或者还有什么别的限制条件(比如需不需要在n属于[0, +∞)上皆有定义)?

=.=没怎么做过这种题,不知道有什么约定俗成的套路,咳...
10楼2011-09-08 14:07:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wangww2011 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见