黑马程序员技术交流社区

标题: 求打印200以内的素数 [打印本页]

作者: 情不知所起    时间: 2017-3-11 21:01
标题: 求打印200以内的素数
不知道怎么做。。。。

作者: lxlxyt    时间: 2017-3-11 21:17
你还没开始学吗,怎么这个都不会

作者: 情不知所起    时间: 2017-3-12 11:36
会了。,忘了什么是素数

作者: 小T    时间: 2017-3-13 09:39
最大程度只能做成这样了,那个√m的真不太懂。
        public static void main(String[] args) {
                String s = "200内的素数有1, 3, 5, ";
                int num = 3;                                                //统计素数个数,已几记录1,3,5
                for (int i = 7; i < 200; i+=2) {        //偶数一定不是素数
                        int j = 0;
                        boolean tag = true;
                        for (j = 3; j <= i/2; j+=2) {        //忽略掉偶数,并只在一半里找,另一半的数一定不可能整除
                                if (i%j == 0) {
                                        tag = false;
                                        break;                                        //若能在一半里找到整除数就一定不是素数,否则就一定是素数并打标记
                                }
                        }
                        if (tag) {                                                //对打有标记的数统计
                                s = s + i + ", ";
                                num++;
                        }
                }
                System.out.println(s);
                System.out.println("一共有 " + num + " 个");
        }
}
作者: lvshen9    时间: 2017-3-13 09:59
类似的
[AppleScript] 纯文本查看 复制代码
package myexam.test24;



/*
* 问题. 设计一个方法,方法名叫:getCount。用来求1-100之间的素数的个数
* 。要求有返回值,并把结果打印在控制台上.(素数:只能被1和自身整除的
* 数,1不是素数)
*
*
*/
public class MyTest4 {

        public static void main(String[] args) {
                getCount(100);
        }
        public static void getCount(int end){
                int i = 0,num;
                int count=0;
                for( num=2;num<end;num++){
                        for( i=2;i<num;i++){
                                if(num%i==0){
                                        break;
                                }
                        }
                        if(i==num){
                                count++;
                                System.out.println(i+"是素数");
                        }
                }
                System.out.println("素数个数为:"+count+"个");
        }
}


作者: chen10041014    时间: 2017-3-14 14:51
我觉得用一个方法做比较好

[AppleScript] 纯文本查看 复制代码
        public static void main(String[] args) {
                int count = 0;
                for (int i = 2; i <= 200; i++) {
                        if (isPrimeNumber(i)) {
                                count++;
                                System.out.println(i);
                        }
                }System.out.println("一共有"+count+"个质数");
        }
        public static boolean isPrimeNumber(int num){
                for (int i = 2; i < num; i++) {
                        if (num % i == 0) {
                                return false;
                        }
                }return true;
        }

作者: 情不知所起    时间: 2017-3-22 13:07
chen10041014 发表于 2017-3-14 14:51
我觉得用一个方法做比较好

[mw_shl_code=applescript,true]        public static void main(String[] args) {

不错啊






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