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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dengxuye 中级黑马   /  2016-3-26 22:06  /  460 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分析以下需求,并用代码实现:
        (1)打印1-100之间的所有素数及个数
        (2)每行输出5个满足条件的数,之间用空格分隔

7 个回复

倒序浏览
最好是先定义一个判断素数的方法,返回boolean数据;
回复 使用道具 举报
然后再把1 -100所有的数循环一边。根据所定义的方法来判断。
回复 使用道具 举报

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;
                        }
                }

        }
}
回复 使用道具 举报
很详细,谢谢!
回复 使用道具 举报
潘耿威 发表于 2016-3-26 22:22
public class Demo {
        public static void main(String[] args) {
                int index = 0;

很详细,谢谢
回复 使用道具 举报
晴苑 中级黑马 2016-3-26 22:42:14
7#
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();
                                 }
                        }
                }
        }
}
回复 使用道具 举报
#在这里快速回复#         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); // 如果是就打印出数字                         }                 }         }  }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马