算法基础-质数问题

算法基础-质数问题

	我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算
	第 2019 个质数是多少?
	分析:质数是1到本身中间所有的数(除了1和本身)都不能被本身整除

解析:质数是 :质数是1到本身中间所有的数(除了1和本身)都不能被本身整除 则可以遍历所有中间数 求除数运算 如果余数为0则结束循环 不是质数
答案为:17569

public class Main {
	public static void main(String[] args) {
		int zs = 0;//声明一个标记用于存储求得质数的位数
		int a =1;  //声明一个用来循环的变量初始值
		while(zs<2019){//while 循环条件为位数到达2019停止;
			a++;//递增变量
			int i;
			for (i = 2; i <a; i++) {//循环2-a之间的数
				if(a%i==0){//判断有没有数能被a整除如果有跳出循环
					break;
				}
			}
			if(i==a){//如果上一步没有跳出循环则i等于a
				zs++;//位数增加
			}
		}
		System.out.println("第 2019 个质数是:"+a);
	}
}

输出为:
在这里插入图片描述

你可能感兴趣的:(算法基础)