高次方数的尾数/阶乘尾数零的个数

2017-01-22 12:27 阅读 835 次 评论 0 条

高次方数的尾数

要求求133的133次方的最后三位数。利用C/C++程序进行设计。

算法设计由于计算机所能表示的整数范围有限,直接乘的方法显然是不可能得到正确的结果。但事实上,题目只要求保留后三位,完全没有必要求出完整结果。因此:通过研究乘法的规律可以发现,乘积的后三位的值只与乘数与被乘数的后三位有关,与他们的高位无关。利用这一规律,可以大大简化程序。

源代码及注释

阶乘尾数零的个数

要求100!的末尾有多少个零?

算法设计先求出100!的值,然后数一下末尾的零的个数。但问题与上题一样,计算机所能表示的整数范围有限,这是不可能的。因此:就必须从数学上分析在100!的末尾产生零的条件。即:一个整数若含有一个因子5,则必然会在求100!时产生一个零。因此问题转换为求1到100之间包含了因数5的个数。若整数N能被25整除,则N包含2个因子5,;若整数N能被5整除,则包含1个因子5。

源代码及注释

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:高次方数的尾数/阶乘尾数零的个数 | 术与道的分享
分类:编程素养 标签:,
1024do.com导航_术与道导航平台

发表评论


表情