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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Destiny 于 2012-2-29 16:34 编辑

看到毕老师第三天for语句练习的视频,有一个题是求100以内7的倍数的个数问题。
毕老师出这题的初衷是让我们熟悉for循环和累加的问题。 代码如下:
class ForTest3
{
       public static void main(String[] args)
         {
             int count=0;
             for(int x=1;x<=100;x++)
                  {
                         if(x%7==0)            
                              count++;
                        
                   }
                System.out.println("count="+ count) ;
          }
}
我想说的是,撇开这个不谈,就这个问题而言,如果是求一个x数的倍数的个数,那么是不是直接可以用这个数除以x,所得的结果的整数部分就是个数?代码如下
class ForTest3
{
       public static void main(String[] args)
         {
             int count;
             count=100/7;
             System.out.println("count="+ count) ;
          }
}

写到这的时候 我突然在想,取整操作是不是直接定义为int类型就可以了?

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
强文何 + 1 赞一个!
职业规划-刘倩老师 + 1 很能发散思维,赞一个!

查看全部评分

6 个回复

倒序浏览
很有有趣,数学方法解决问题是最高效的。,关键是你能证明 你的算法的正确性么。你要你能验证你的算法是可行的,那就没有问题,而且也会是最高高效的。
回复 使用道具 举报
段玉超 发表于 2012-2-29 16:39
很有有趣,数学方法解决问题是最高效的。,关键是你能证明 你的算法的正确性么。你要你能验证你的算法是可 ...

对呀 呵呵 ,我也是这么想的  如果类似思路用到大的程序上,应该会节省一些内存~呵呵!
回复 使用道具 举报
嗯,可以的。同样也可以用7去乘以x,只要结果小于100,同样也取出了个数。一个问题出发方向不同,就有不同的想法。
回复 使用道具 举报
额,这个嘛,是可以的,其实算除法的时候吧,不就是方向的乘法,比如100/7  吧,就可以当成多少个7相乘啦,因为7也是7本身的倍数啦! 这个问题吧,说白了就是一点数学知识,很好解决的!!算法都是人想的!
回复 使用道具 举报
舞动的心弦 发表于 2012-2-29 21:42
额,这个嘛,是可以的,其实算除法的时候吧,不就是方向的乘法,比如100/7  吧,就可以当成多少个7相乘啦, ...

嗯 呵呵 大家努力加油!
回复 使用道具 举报
吕婷 发表于 2012-2-29 17:35
嗯,可以的。同样也可以用7去乘以x,只要结果小于100,同样也取出了个数。一个问题出发方向不同,就有不同 ...

对啊对啊 !呵呵 第一次发帖 谢谢关注 嘿嘿!!

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 O了

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马