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

© handy 初级黑马   /  2016-6-24 11:34  /  344 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 handy 于 2016-6-24 11:39 编辑

/*
        需求:
                (1)打印1-100之间的所有素数及个数
                (2)每行输出5个满足条件的数,之间用空格分隔
                (3)如果一个大于1的自然数,这个数只能被1和其本身整除,这个数就叫素数。
                (4)如:2 3 5 7 11
*///方法1: 统计能整除的除数的个数,以此判断是否为素数
class Homework2 {
        public static void main(String[] args) {
                int count = 0;
                for (int i = 2;i <= 100 ;i++ ) {
                        int count1 = 0;        //        记录能整除的个数
                        for (int j =2;j < i ;j++ ) {
                                if (i % j == 0) {
                                        count1 ++;
                                }
                        }
                        if (count1 == 0) {
                                count++;
                                System.out.print(i + " ");
                                if (count % 5 == 0 ) {
                                        System.out.println();
                                }
                        }
                }
                System.out.println("1-100的素数共有: " + count);
        }
}

//方法2:通过返回能否整除其余数的boolean值,判断是否为素数
                        class Test03 {
                                public static void main(String[] args) {
                                        //1.定义计数器统计素数的个数
                                        int count = 0;
                                        //2.遍历判断是否是素数并打印
                                        for (int i = 2; i < 100; i++) {

                                                if (isPrime(i)) {
                                                        count++;
                                                        System.out.print(i + " ");
                                                        if(count%5==0) {
                                                                System.out.println();
                                                        }
                                                }

                                        }
                                        System.out.println();
                                        System.out.println("1-100的素数的个数为:" + count);
                                }

                                //判断是否是素数的方法
                                public static boolean isPrime(int num) {
                                        for (int x = 2; x < num; x++) {// 从2到99来寻找
                                                if ((num % x) == 0) {
                                                        return false;
                                                }
                                        }
                                        return true;
                                }
                        }


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马