24小时热门版块排行榜    

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

holmescn

金虫 (正式写手)

[交流] Euler 工程 第廿题:100! 的各项和 已有4人参与

由于上面那个题比较简单了。再放一个题吧。这个有点意思了。

已知 n! = n(n-1)(n-2)...1
比如 10! = 10*9*8*7*6*5*4*3*2*1 = 3628800, 其各项和为3+6+2+8+8+0+0=27

那么100!的各项和是多少呢?

这个题用python、matlab、mathematica等支持大数乘法的语言当然很容易就得到结果了。所以这种算法现在Forbidden.

这里给出我用python算的结果为: 648

程序当然就一句(不是我写的):
CODE:
sum([int(x) for x in str(reduce(lambda x, y: x*y, range(1, 101)))])

回复此楼

» 猜你喜欢

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

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

sudo

木虫 (正式写手)

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 多谢交流 2011-06-04 17:08:37
余泽成(金币+3, 程序强帖+1): 鼓励交流! 2011-06-04 19:27:16
有点烦心事,今晚不想看书了,来献个丑...
CODE:
#include

int t[200]={1};

int main(){
    int i, j, sum=0, p=0;
    int q, r;
    for(i=2; i<=100; i++){
        for(j=0; j<=p; j++){
            t[j] *= i;
        }
        for(j=0; j<=p || t[j]>=10 ;j++){
            q = t[j]/10;
            r = t[j]%10;
            t[j+1] += q;
            t[j] = r;
        }
        p = j;
    }
    for(i=0; i<=p; i++){
        sum += t[i];
    }
    printf("%d digits in 100!, sum=%d\n", p+1, sum);
}

输出(在codeblocks下的gcc):
CODE:
158 digits in 100!, sum=648

Process returned 0 (0x0)   execution time : 0.014 s
Press any key to continue.

PS1:咳,我一直觉得附上运行时间毫无意义......应该附上的是算法的时间复杂度比较合理.....

PS2:
100!共有的位数为:
取整(log 1 + log 2 + ... + log 100) + 1 = 158
4楼2011-06-02 22:43:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

huycwork

金虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 多谢交流 2011-06-04 17:08:17
这样就只好用多项式乘法了呃~
漩涡的中心有一块空地,空空的。
2楼2011-06-02 18:33:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 多谢交流 2011-06-04 17:08:24
这一题和第16题一个类型
3楼2011-06-02 21:54:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


dubo(金币+1): 多谢交流 2011-06-04 17:09:54
Forbidden python,我就不贴了,哈哈, 跟楼主那句一模一样
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2011-06-03 16:38:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 299求调剂 +3 某某某某位 2026-03-21 3/150 2026-03-21 13:11 by zhukairuo
[考研] 330求调剂0854 +3 assdll 2026-03-21 3/150 2026-03-21 13:01 by 搏击518
[考研] 336求调剂 +3 rmc8866 2026-03-21 3/150 2026-03-21 11:16 by 求调剂zz
[考研] 二本跨考郑大材料306英一数二 +3 z1z2z3879 2026-03-17 3/150 2026-03-21 02:29 by JourneyLucky
[考研] 278求调剂 +6 烟火先于春 2026-03-17 6/300 2026-03-21 01:57 by JourneyLucky
[考研] 324分 085600材料化工求调剂 +4 llllkkkhh 2026-03-18 4/200 2026-03-21 01:24 by JourneyLucky
[考研] 271材料工程求调剂 +8 .6lL 2026-03-18 8/400 2026-03-21 00:58 by JourneyLucky
[考研] 材料专硕英一数二306 +7 z1z2z3879 2026-03-18 7/350 2026-03-20 23:48 by JourneyLucky
[考研] 一志愿中海洋材料工程专硕330分求调剂 +8 小材化本科 2026-03-18 8/400 2026-03-20 23:16 by JourneyLucky
[考研] 350求调剂 +5 weudhdk 2026-03-19 5/250 2026-03-20 22:04 by luoyongfeng
[考研] 290求调剂 +7 ^O^乜 2026-03-19 7/350 2026-03-20 21:43 by JourneyLucky
[考研] A区线材料学调剂 +5 周周无极 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[考研] 一志愿北京化工大学0703化学318分,有科研经历,求调剂 +4 一瓶苯甲酸 2026-03-14 4/200 2026-03-20 20:36 by fen_rao
[考研] 一志愿西安交通大学 学硕 354求调剂211或者双一流 +3 我想要读研究生 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
[考研] 求调剂 +3 @taotao 2026-03-20 3/150 2026-03-20 19:35 by JourneyLucky
[考研] 281求调剂(0805) +14 烟汐忆海 2026-03-16 25/1250 2026-03-20 15:47 by yuncha
[考研] 求调剂 +3 暗涌afhb 2026-03-16 3/150 2026-03-20 00:28 by 河南大学校友
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
信息提示
请填处理意见