当前位置: 代码迷 >> 综合 >> Java - PAT - 1013. 数素数 (20) 注意超时
  详细解决方案

Java - PAT - 1013. 数素数 (20) 注意超时

热度:134   发布时间:2023-10-09 21:14:07.0

令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

import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int left = sc.nextInt();int right = sc.nextInt();int times = 0;for(int i=1 ; ;i++){if(isPrimeNum(i)){times++;if(times>=left&×<=right){if((times-left+1)%10==0||times-left==right-left){System.out.println(i);}else{System.out.printf("%d ", i);}}if(times == right){break;}}}}public static boolean isPrimeNum(int a){if(a==1){return false;}if(a%2==0&&a!=2){return false;}for(int i=3;i<=Math.sqrt(a);i+=2){if(a%i==0){return false;} }return true;}
}






  相关解决方案