【暴力】阶乘后九位非零数字

该博客讨论了一种暴力计算阶乘的方法,旨在找出非零数字的最后九位。作者提到在处理过程中需要注意去除零后再取模,以避免错误。样例展示了不同输入n的阶乘结果,并提到了错误处理的经验和大数阶乘的效率问题。
摘要由CSDN通过智能技术生成

描述

阶乘是数学计算之一,现在zzx不想要N!的精确值,现在zzx已经有办法知道了最后面有多少个0,所以zzx对于最后面有多少个0没有什么兴趣,现在他想知道的是,去除了最后面的零后的最后九位数字是什么?

输入

先输入一个T,表示输入数据有T组

每组数据占一行,包括一个非负整数n。

数据保证:

T约为100,n<=106

输出

输出N的阶乘去除最后面的0后的最后九位数字(不足九位数字的用前导0补充)

样例输入

3
1
10
38

样例输出

000000001
000036288
000742912

提示

38!= 523022617466601111760007224100074291200000000

反思:
做的血压有点高,误差值1e12是刚刚好的,主要的错误出在怎么样处理中途的数据上,在去0之前就取模会导致错误(还很难看出来,调试了好几次),要先去0,再取模就不会有莫名其妙的错误了。
感谢taozi学长。
分析:
大数阶乘不可取,时间复杂度太高了,这道题就是纯暴力(暴力大法好)。
代码:

#include<bi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值