java实现之100以内质数

本文介绍了一种计算100以内素数的方法,并通过双重循环实现了对每个数进行素性验证的过程。该方法首先从100开始逐个验证每个数是否为素数,若非素数则跳过继续验证下一个数,直至找到所有素数。

思路二:优化后

/*
 * 质数:在大于1的自然数中,除了1和它本身以外不再有其他因数。
 * 思路:100以内的素数,100%(2—~99)求余,99%(2-98)求余,97%(2-96)。。。
 */

Num:for(int i=100; i>1;i--){
		for(j =2;j<=i;j++){
			if(i!=j && i%j==0)
				continue Num;
			if(i==j && i%j==0)
				System.out.println(i);
		}
	}

思路一

List<String> list = new ArrayList<String>();
//Num指定for循环名称
Num:for(int i=100; i>=1;i--){
		for(int j =2;j<=i;j++){
			if(i!=j && i%j==0){
				//非素数,跳出当前Num循环,验证下一个i
				list.removeAll(list);//清除list
				continue Num;//验证下一数,100,99,98,97...
			}
			//素数,能被自身整除
			if(i==j && i%j==0){
				list.add(i+"");
			}
		}
		if(list.size>0){
			System.out.println(list.get(0));
			list.removeAll(list);
		}
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值