码迷,mamicode.com
首页 > 编程语言 > 详细

java-基础练习题2

时间:2016-08-10 22:41:05      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

题目:判断101-200之间有多少个素数,并输出所有素数。 

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 
则表明此数不是素数,反之是素数。 

方法1.素数,大于等于2, 除了1和本身以外,不能被整除,所以就从 2 开始进行 for 循环,小于 number 的情况下,看是否能够 number 整除 i,能整除就不是素数了。

 1     private boolean isPrime2(int number) {
 2         boolean flag = true;
 3         if (number < 2) {
 4             flag = false;
 5         }
 6         for (int i = 2; i < number; i++) {
 7             if (number % i == 0) {
 8                 flag = false;
 9                 break;
10             }
11         }
12         return flag;
13     }

方法2.判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 在 for 循环的时候,遍历从 2 到 Math.sqrt(number) ,能够被整除

 1     private boolean isPrime3(int number) {
 2         boolean flag = true;
 3         if (number < 2) {// 素数不小于2
 4             return false;
 5         } else {
 6             for (int i = 2; i <= Math.sqrt(number); i++) {
 7                 if (number % i == 0) {// 若能被整除,则说明不是素数,返回false
 8                     flag = false;
 9                     break;
10                 }
11             }
12         }
13         return flag;
14     }

 

测试代码:

 1     @Test
 2     public void test2() {
 3         int count = 0;
 4         for (int i = 101; i <= 200; i++) {
 5             if (isPrime3(i)) {
 6                 System.out.print(i + ",");
 7                 count++;
 8             }
 9         }
10         System.out.println();
11         System.out.println("共计:" + count);
12     }

 

测试结果:

101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,
共计:21

 

java-基础练习题2

标签:

原文地址:http://www.cnblogs.com/liyiran/p/5758378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!