java 程序分析题_java程序入门50题分析:002

【程序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) ;

}

}

}

} 这样就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值