PAT——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<br /><br /><br /><br />
package com.hone.basical;
import java.util.Scanner;
/**
* 原题目:https://www.patest.cn/contests/pat-b-practise/1013
* @author Xia
* 下面提供改进版本(成功解决超时问题)
*/
public class basicalLevel1013CountPrimeNumImprove{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int m = input.nextInt();
int n = input.nextInt();
int[] nums= new int[n+1];
nums[0] = 2;
int k = 0;
for (int i = 3,j=1; k < n; i+=2) {
if(isPrime(i)){
nums[j++] =i;
k++;
}
}
for (int i = m-1; i < n; i++) {
System.out.print(nums[i]);
if(((i+2-m)%10 ==0)||i==n-1){
System.out.println();
}else{
System.out.print(" ");
}
}
}
//判断a是否为素数
public static boolean isPrime(int a){
boolean isprime = true;
for (int i = 2;i <= Math.sqrt(a); i++) {
if(a%i == 0){
isprime = false;
break;
}
}
return isprime;
}
} 相关推荐
CloudXli 2020-06-11
baike 2020-01-04
hiKirin 2013-03-09
BITSKY 2019-03-29
liangds 2018-11-30
浪漫老猫 2018-11-27
lundongcai 2018-11-22
zzpdljd 2018-11-20
assastor 2018-05-02
cairencong 2018-01-23
sharkandshark 2017-04-14
wlpython 2018-09-27
crqzcbk 2011-08-02
heshanking 2011-04-12
BitTigerio 2018-05-19
BitTigerio 2018-05-13
BitTigerio 2018-04-06