摘要:②5*5=25、5*5*5=125、5*5*5*5=625的倍数也要算进去。因为25=5*5,会比5多贡献一个0,125=5*5*5可以贡献3个0,625=5*5*5*5可以贡献4个0;
原理:
①因子分解法,偶数和5的乘积会产生0,即2的倍数和5的倍数相乘,但是因为2的倍数多于5的倍数,所以只需要找出5的因子有多少个,末尾的0就有多少个;
②5*5=25、5*5*5=125、5*5*5*5=625的倍数也要算进去。因为25=5*5,会比5多贡献一个0,125=5*5*5可以贡献3个0,625=5*5*5*5可以贡献4个0;
③为什么不是25的倍数个数*2、125的倍数个数*3、625的倍数个数*4呢,因为25的倍数同时也是5的倍数,125的倍数同时也是5和25的倍数,以此类推。
代码如下:
public class CountTest {public static void main(String args) {int i = 1000 / 5; //5的倍数int j = 1000 / (5*5); //25的倍数int k = 1000 / (5*5*5); //125的倍数int z = 1000 / (5*5*5*5); //625的倍数int sum = (i+j+k+z); //5的倍数和System.out.println("1000的阶乘的末尾有"+sum+"个0");}}来源:静静课堂
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!