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 @ 2022-06-03 09:21  七色彩虹k  阅读(1260)  评论(0)    收藏  举报