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

public class Pro8 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n = 200;
		int count = 0;
		//建立一张素数判断表
		boolean[] isPrime = new boolean[n];
		//先设定0到200之间的数全是素数
		for (int i = 0; i < isPrime.length; i++) {
			isPrime[i] = true;
		}
		//2是最小的素数
		for (int i = 2; i < isPrime.length; i++) {
			if (isPrime[i]) {
				//在一定范围内,如果一个数可以表示成两个数(大于2)的乘积
				for (int j = 2; i*j < isPrime.length; j++) {
				//那么这个数就不是素数,而是合数
				//反之,如果不能,那么这个数就是素数
				//素数判断表更新
					isPrime[i*j]=false;
				}
			}
		}
		//遍历过后,得到全新的素数判断表
		System.out.println("以下为100到200之间的素数:");
		//本题要求输出100到200间的素数
		for (int i = 100; i < isPrime.length; i++) {
			if (isPrime[i]) {
				System.out.println(i);
				//计数
				count ++;
			}
		}
		System.out.println("100到200之间共有"+count+"个素数。");
	}

}

运行结果:

以下为100到200之间的素数:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
100到200之间共有21个素数。
posted @   七色彩虹k  阅读(1197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示