急求!用java算1到1000阶乘的末尾有几个零?
1个回答
展开全部
可以认为,有多少组2、5,结尾就有多少个0 */
/* 操作方法:操作1到1000中所有的数,看每个数能被2和5整除几次,并分别统计,假设被2整除8次,被5整除12次,那我们可以认为有8组(2,5),即8个0*/
//被2整除的次数之和
int count2 = 0;
//被5整除的次数之和
int count5 = 0;
//遍历所有的数
for (int number = 1; number <= 1000; number ++) {
int dynmicNumber = number;//该数的一个复制,用于不数的整除用
while (dynmicNumber % 2 == 0) { //统计该数能被2整除多少次,但是并不单独统计,而是统计到全局
count2++;
dynmicNumber /= 2;
}
while (dynmicNumber % 5 == 0) { //统计该数能被2整除多少次,但是并不单独统计,而是统计到全局
count5++;
dynmicNumber /= 5;
}
}
System.out.println("结尾0的个数为:" + Math.min
/* 操作方法:操作1到1000中所有的数,看每个数能被2和5整除几次,并分别统计,假设被2整除8次,被5整除12次,那我们可以认为有8组(2,5),即8个0*/
//被2整除的次数之和
int count2 = 0;
//被5整除的次数之和
int count5 = 0;
//遍历所有的数
for (int number = 1; number <= 1000; number ++) {
int dynmicNumber = number;//该数的一个复制,用于不数的整除用
while (dynmicNumber % 2 == 0) { //统计该数能被2整除多少次,但是并不单独统计,而是统计到全局
count2++;
dynmicNumber /= 2;
}
while (dynmicNumber % 5 == 0) { //统计该数能被2整除多少次,但是并不单独统计,而是统计到全局
count5++;
dynmicNumber /= 5;
}
}
System.out.println("结尾0的个数为:" + Math.min
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询