- public class test {
- public static void main(String[] args) {
- int mul=1,num=0,end=1000;
- for(int i=2;i<=end;i++) {
- mul=mul*i;
- //除去乘积后面所有0,并累加这些0
- while(mul%10==0){
- mul=mul/10;
- num++;
- }
- //取得最后几位非零数???????这里应该取最后的几位数,我测试时候两位就能使程序正常运行,但是总感觉应该是留三位,但讲不出为什么来
- mul=mul%1000;
- }
- System.out.println(end+"的阶乘,共有"+num+"个零");
- }
- }
复制代码 代码实现了1到1000的累成,结果零的个数。
问题是:代码标注??的地方。一个数的最后几位数,决定和一个1000以内的数相乘结果有多少零(不知道我解释清楚没有)
|
|