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

© 静默小和尚 中级黑马   /  2015-4-3 22:03  /  337 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/* 判断1-200之间有多少个素数,并输出所有素数。   
思路:
A:素数就是质数。只能被1和自身整除。x是除数取值在1-200之间,y是被除数,取值1-X/2之间
B:因此使用for循环,两个变量 x  , y  ;
C:由于质数取模循环x%y!=0除1之后是一直为真,因此要出现区别就在于被整除的次数S,质数只有两个,1和本身,而为了减少循环次数,只需要除到x/2,所以若循环记录的S=1,那么这个数就是质数,打印出来并记录一次,count
*/

class ZhiShu
{
        public static void main(String[] args)
        {
                int count=0  ;
                for (int x = 1 ; x <= 200 ; x++ )
                {
                        int s = 0 ;//注意s作用域
                        for (int y = 1 ; y <= x/2 ;y ++ )
                        {
                                if (x%y==0)
                                {
                                        s++;                               
                                }
                                    
                        }
                        if (s=1)
                                {
                                        count++;
                                        System.out.print("x = "+x+",");       
                                }       
                }
                System.out.println("count="+count);
        }
}


2 个回复

倒序浏览
file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\449004955\QQ\WinTemp\RichOle\J`Y}WPM$JQM_OMF67(ZB(H1.png
抢沙发,顺便这里错了应该是s==1吧

J`Y}WPM$JQM_OMF67(ZB(H1.png (2.39 KB, 下载次数: 12)

J`Y}WPM$JQM_OMF67(ZB(H1.png
回复 使用道具 举报
随缘就好 发表于 2015-4-3 22:54
抢沙发,顺便这里错了应该是s==1吧

:lol是啊 是啊,谢希德指出,打错了,嘿嘿
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马