本文主要是介绍【暴力】阶乘后九位非零数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
阶乘是数学计算之一,现在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
这篇关于【暴力】阶乘后九位非零数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!