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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2014-5-23 09:47  /  5843 人查看  /  36 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

楼主看一下吧,个人觉得比较好理解

  1. public class Jiecheng {

  2.         public static void main (String args[])
  3.         {
  4.                 //M为要测试的范围1-M,这里假定最大是四位数的
  5.                 int m=100;
  6.                 //一下变量分别计末尾为5,0,00,000的数的个数
  7.                 int count5 =0;
  8.                 int count0 = 0;
  9.                 int count00 =0;
  10.                 int count000 =0;
  11.                 //遍历整个范围 ,求个各个变量的值
  12.                 for(int i=1;i<=m;i++)
  13.                         {        if(i%1000==0)
  14.                                 {
  15.                                         count000++;
  16.                                         continue;
  17.                                 }
  18.                                 if(i%100==0)
  19.                                 {
  20.                                         count00++;
  21.                                         continue;
  22.                                 }
  23.                                 if(i%10==0)
  24.                                 {
  25.                                         count0++;
  26.                                         continue;
  27.                                 }
  28.                                 if(i%5==0)
  29.                                 {
  30.                                         count5++;
  31.                                         continue;
  32.                                 }
  33.                         }
  34.                
  35.                 //每一个整千的数会带来三个0,整百的会带来两个,整十的会带来一个,而由于数据中有充足的2和2的倍数存在,所以每一个五也会有一个0
  36.                 //所以输出如下
  37.                 System.out.println("0的个数为"+(count000*3+count00*2+count0+count5));
  38.         }       
  39. }
复制代码

点评

我跟你想的一样,当时也是这么做的,但我只用了一个count,遇到5.10加一个0,遇到100加两个0,1000加三个零  发表于 2014-7-1 08:35
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马