技术问答-22 判断101~200之间有多少个素数(包含101 和 200),并输出所有素数。

知识点:
素数(质数)就是除了1和它本身以外,没有其他的数可以被它整除

方法1:


		// 遍历101~200
		for (int i = 101; i <= 200; i++) {
			// 默认是素数
			boolean isS = true;
			// 遍历 从2到i-1
			for (int j = 2; j < i - 1; j++) {
				//如果有能被整除的数 isS设置为false 结束内循环
				if (i % j == 0) {
					isS = false;
					break;
				}
			}
			// 如果是素数
			if (isS) {
				System.out.print(i + ",\t");
			}
		}
	

方法2:


		// 遍历101~200
		for (int i = 101; i <= 200; i++) {
			// 默认是素数
			boolean isS = true;
			// 遍历 从2到Math.sqrt(i)  
			//因为:x=Math.sqrt(i)
			//如果有一个数y大于x 能整除i y*z=i 那么z一定小于x  也就是说如果能被y整除 在x之前已经判断出来了 不用再到y了 
			//所以到x还没有被整除 那就是没有能被整除的数了(本身除外)
			for (int j = 2; j <=Math.sqrt(i); j++) {
				//如果有能被整除的数 isS设置为false 结束内循环
				if (i % j == 0) {
					isS = false;
					break;
				}
			}
			// 如果是素数
			if (isS) {
				System.out.print(i + ",\t");
			}
		}
	
发布了431 篇原创文章 · 获赞 91 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/qq_36291682/article/details/89415534
今日推荐