黑马程序员技术交流社区

标题: 求解 [打印本页]

作者: dengxuye    时间: 2016-3-26 22:06
标题: 求解
分析以下需求,并用代码实现:
        (1)打印1-100之间的所有素数及个数
        (2)每行输出5个满足条件的数,之间用空格分隔

作者: ipursue    时间: 2016-3-26 22:16
最好是先定义一个判断素数的方法,返回boolean数据;
作者: ipursue    时间: 2016-3-26 22:18
然后再把1 -100所有的数循环一边。根据所定义的方法来判断。
作者: 潘耿威    时间: 2016-3-26 22:22

public class Demo {
        public static void main(String[] args) {
                int index = 0;
                for (int i = 1; i < 100; i++) {
                        int id = 0;
                        for (int j = 1; j <= i; j++) {
                                if (i % j == 0) {
                                        id++;// 计数,i能除多少个数
                                }
                        }
                        if (id == 2 || id == 1) {// 判断 i 的 除数 大于2个 就不是素数
                                System.out.print(i + "\t");
                                ++index;
                        }
                        if (index == 5) {
                                System.out.print("\n"); //index满足五次就换行,并重 赋值为0
                                index = 0;
                        }
                }

        }
}
作者: dengxuye    时间: 2016-3-26 22:27
很详细,谢谢!
作者: dengxuye    时间: 2016-3-26 22:33
潘耿威 发表于 2016-3-26 22:22
public class Demo {
        public static void main(String[] args) {
                int index = 0;

很详细,谢谢
作者: 晴苑    时间: 2016-3-26 22:42
class Test_1 {
        public static void main(String[] args) {
                int x = 0;                         //定义素数个数
                for (int i = 1;i <= 100 ;i ++ ) {      
                        int a = 0;       //计数器
                        for (int j = 1;j <= i ;j++ ) {
                                if (i % j == 0) {
                                         a++;
                                }
                        }
                                if (a < 3) {
                                        System.out.print(i + " ");
                                        x++;
                                if (x % 5 == 0) {
                                        System.out.println();
                                 }
                        }
                }
        }
}
作者: 丶飞得更高    时间: 2016-3-26 22:49
#在这里快速回复#         public static void main(String[] args) {                 int j;                 for (int i = 2; i <= 100; i++) // 1不是素数,所以直接从2开始循环                 {                         j = 2;                         while (i % j != 0) {                                 j++; // 测试2至i的数字是否能被i整除,如不能就自加                         }                         if (j == i) // 当有被整除的数字时,判断它是不是自身                         {                                 System.out.println(i); // 如果是就打印出数字                         }                 }         }  }




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