【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析2:神马是素数,坑爹么,我都不知道素数,吃素我是知道了。那就百度下吧!!质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。想到这个题目,我首先想到的是暴利求解,反正是只有101--200之间,数目不多public int sushu(int i) //返回的素数,然后for循环101--200就可以了哇,那就这样做下。
package endual;
public class Qanswer {
public int suShu(int n) {
boolean isSuShu = false ;
for (int i=2; i < n-1; i++) {
//这个数,足够被2整除 取得余数,
//如果余数是0 就说说明能被整除了
int res = n % i ;
if (res == 0) {
return 0 ; //不是素数,返回0
}
}
return n ;
}
}
main类调用
package endual;
public class Main {
//1,1,2,3,5,8,13,21,。。。。求N的时候的数是多少
public static void main(String[] args) {
// TODO Auto-generated method stub
// int n = 8 ;
Qanswer qu = new Qanswer() ;
for (int n=101; n <= 200 ; n++) { //很显然时间复杂度是非常巨大了
int res = qu.suShu(n) ;
if (0 != res) {
System.out.println(res) ;
}
}
}
} 这样就可以了