黑马程序员技术交流社区

标题: 第一个帖子--关于100内7的倍数的个数问题 [打印本页]

作者: Destiny    时间: 2012-2-29 16:21
标题: 第一个帖子--关于100内7的倍数的个数问题
本帖最后由 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类型就可以了?
作者: 段玉超    时间: 2012-2-29 16:39
很有有趣,数学方法解决问题是最高效的。,关键是你能证明 你的算法的正确性么。你要你能验证你的算法是可行的,那就没有问题,而且也会是最高高效的。
作者: Destiny    时间: 2012-2-29 16:42
段玉超 发表于 2012-2-29 16:39
很有有趣,数学方法解决问题是最高效的。,关键是你能证明 你的算法的正确性么。你要你能验证你的算法是可 ...

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

嗯 呵呵 大家努力加油!
作者: Destiny    时间: 2012-2-29 22:27
吕婷 发表于 2012-2-29 17:35
嗯,可以的。同样也可以用7去乘以x,只要结果小于100,同样也取出了个数。一个问题出发方向不同,就有不同 ...

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2