栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 1013 数素数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 1013 数素数

题目内容:

令 Pi​ 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM​ 到 PN​ 的所有素数。

输入格式:

输入在一行中给出 M 和 N,其间以空格分隔。

输出格式:

输出从 PM​ 到 PN​ 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。

输入样例:
5 27

结尾无空行

输出样例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

结尾无空行

Java代码实现:

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		int n = sc.nextInt();
		int num = 0;
			for(int j = 2;;j++)
			{
				if(isPrimeNum(j))
				{
					num++;
					if(num >= m && num <= n)
						if((num-m+1)%10 == 0 || num == n)
							System.out.println(j);
						else
							System.out.print(j + " ");
				}	
				if(num == n)
					break;
			}
	}

	public static boolean isPrimeNum(int j) {
//		for (int i = 2; i <= Math.sqrt(j); i++)// 用Math.sqrt()开根号求j是否为素数,加快运行速度
//		{
//			if (j == 2)
//				return true;
//			if (j % i == 0)
//				return false;
//		}                     //注意:这种方式求素数会超时 
		//应使用素数筛选法,是用了空间换了时间,不过现在来说,时间更加重要一些,所以素筛还是被广泛运用的。
		if(j==1){
	          return false;
	      }
	      if(j%2==0&&j!=2){
	        return false;
	      }
	      for(int i=3;i<=Math.sqrt(j);i+=2){
	          if(j%i==0){
	              return false;
	          } 
	      }
		return true;
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号