素数查找指定范围的素数

和自甴很熟 提交于 2020-03-03 16:52:50

首先素数的概念:一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除

1不是素数,只能被1和自身整除的数才是素数(也叫质数)
理论上,1能被1整除.也能被自身1整除,但在数学领域里.规定1不是素数。
实现步骤

  1. 为了能够每次运行时都可以定义查找素数的范围,所以用键盘录入
  2. 通过键盘录入录入一个查找范围,并且循环这个范围的每一个数字
  3. 每循环一个数字,对这个数字进行取余操作(只要取余结果==0则不是素数)
  4. 这个时候就与要定义一个boolean类型的变量,这个变量的初始值设为true(下面说原因)
  5. 取余操作,因为要对当前数字下除了1和本身外所有数字进行取余操作,所以再使用一个循环进行取余(取余结果等于零说明这个数不是素数,这个时候返回一个false,反之变量值不变)
  6. 取余这个循环完成后判断boolean变量==true,等于true说明是素数,打印输出
public static void main(String[] args) {
 		// 键盘录入
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个开始的数字");
		int i = sc.nextInt();
		System.out.println("请输入一个结束的数字");
		int j = sc.nextInt();
		// 因为每次循环都要重新赋值使用,所以定义在循环外面(这样就不用不断的创建变量了
		boolean boo;
		// 循环范围内的数值
		for (int x = i; x <= j; x++) {
		 	// 给变量赋值为true,每次循环开始时都会重新赋值为ture
			boo = true;
			// 取余排除1和数值本身
			for (int y = 2; y < x; y++) {
				// 取余等等于零说明不是素数,返回false
				if (x % y == 0) {
					boo = false;
				}
			}
			//判断boo==false说明不是素数则跳过,反之进入打印输出
			if (boo) {
				System.out.println(x);
			}
		}
		sc.close();
	}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!