编写一个程序,计算1977!的值,
Time Limit | 1 秒/Second(s) | Memory Limit | 512 兆字节/Megabyte(s) |
提交总数 | 2405 | 正确数量 | 1522 |
裁判形式 | 标准裁判/Standard Judge | 我的状态 | 尚未尝试 |
难度 | 分类标签 | 高精度 |
编写一个程序,计算1977!的值,
1977!的值超过计算机所能表示的整数范围,请考虑其他技巧,假设 1977!之值不超过10000位用一个含有10000个元素的整型数组num表示其结果,每个元素存放一位,num[0]存入个位数,num[]存入十 位数,依次类推……8!=40320,当前最高位len=4,求9!与各位依次相乘rum保存当前的进位数字。(0<=rem<9).
1)rem置初始值0.
2)i=0:rem=rem+num[0]*9=0+0=0。num[0]=rem%10=0,rem=rem/10=0。
3)i=1:rem=rem+num[1]*9=0+18=18。num[1]=rem%10=8,rem=rem/10=1。
4)i=2:rem=rem+num[2]*9=1+27=28。num[2]=rem%10=8,rem=rem/10=2。
5)i=3:rem=rem+num[3]*9=2+0=2。num[3]=rem%10=2,rem=rem/10=0。
6)i=4:rem=rem+num[4]*9=0+36=36。num[4]=rem%10=6,rem=rem/10=3。
7)rem=3,说明有进位,数组最高位增加1,len=len+1=5,num[5]=rem%10=3,rem=rem/10=0,结束。
num各位结果为:3、6、2、8、8、0。即9!=362880
本题记录 | 用 户(点击查看用户) | 运行号(点击购买题解) | 时 间 |
---|---|---|---|
算法最快[0 ms] | WaFer | 841278 | 2022-04-14 19:16:45 |
内存最少[0 KB] | Qiqy | 575690 | 2020-03-30 23:58:58 |
第一AC | 邓炜@信息与计算科学142 | 1839 | 2016-05-14 15:53:20 |
第一挑战 | 邓炜@信息与计算科学142 | 1838 | 2016-05-14 15:52:05 |
竞赛编号 | 竞赛名称 | 竞赛时间 | 访问比赛 |
---|---|---|---|
1851 | 2024-2025-2学期<计算机专业竞赛实训> 第1周练习:STL基础和高精度计算【23计算机】 | 2025-02-16 00:00:00 | 请登录 |
1834 | 2024-2025-1学期《C语言程序设计》:一维数组II【24计算机】 | 2024-11-20 00:00:00 | 请登录 |
1797 | 2023-2024-2学期<计算机专业竞赛实训> 第1周练习:STL基础和高精度计算【22计算机】 | 2024-02-26 00:00:00 | 请登录 |
1779 | 2023-2024-1学期《C语言程序设计》:一维数组II【23计算机】 | 2023-11-20 00:00:00 | 请登录 |
1737 | 2022-2023-2学期<计算机专业竞赛实训> 第3周练习:STL基础:string/高精度计算【21计算机12345】 | 2023-03-07 07:00:00 | 请登录 |