A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public class test {
  2.          public static void main(String[] args)  {
  3.          int mul=1,num=0,end=1000;
  4.           for(int i=2;i<=end;i++) {
  5.                  mul=mul*i;
  6.                  //除去乘积后面所有0,并累加这些0
  7.                  while(mul%10==0){
  8.                      mul=mul/10;
  9.                          num++;
  10.                  }
  11.                  //取得最后几位非零数???????这里应该取最后的几位数,我测试时候两位就能使程序正常运行,但是总感觉应该是留三位,但讲不出为什么来
  12.                  mul=mul%1000;
  13.            }
  14.          System.out.println(end+"的阶乘,共有"+num+"个零");
  15. }

  16. }
复制代码
代码实现了1到1000的累成,结果零的个数。
问题是:代码标注??的地方。一个数的最后几位数,决定和一个1000以内的数相乘结果有多少零(不知道我解释清楚没有)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马