欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java从零开始

程序员文章站 2022-05-28 14:27:27
...

数据运算、流控制、数组

用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。
题解:素数的定义为只有他本身跟0可以整除,遇到一个数就把他的倍数消除,所以剩下的都是只有他本事是除数的数。

public class Second {
	public static void main(String[] args) {
		int[] arr = new int [101];
		
		//数组所有元素均为非0,即我们把他看成均是素数。
		for (int i = 2; i <= 100; i ++) {
			arr[i] = i;
		}
		
		int x,y;
		//主体部分。
		for (int i = 2; i <= 100; i ++) {
			//判断是否为素数
			if (arr[i] != 0) {
				//将此时i所表示的数的倍数,因为素数定义只能是0跟本身,所以i表示的这个数的倍数均不为素数,即定义为0.
				for (x = 2; (y = x*i) <= 100; x ++) {
					//y为i与遍历数x的乘积
					arr[y] = 0;
				}
			}
		}
		
		//for的暴力输出循环,很常用,记住格式多练。
		//这里i代表的就是arr数组里面的数。
		for (int i : arr) {
			//判断是否为零
			if (i != 0)
				System.out.print(i+" ");//不用println,因为不需要换行。
		}
	}
}

主要是考察嵌套即为流控制,还有数组的灵活运用。

相关标签: 从零开始 java