PAT 1013 数素数

Bertha 。 2022-02-26 05:28 415阅读 0赞

代码如下:

  1. package test;
  2. import java.util.Scanner;
  3. public class Main{
  4. public static void main(String[] args){
  5. Scanner in=new Scanner(System.in);
  6. int M=in.nextInt();
  7. int N=in.nextInt();
  8. outputPrimeNumber(M,N);
  9. in.close();
  10. }
  11. // 输出素数
  12. public static void outputPrimeNumber(int M,int N) {
  13. int[] primeNumbers=new int[10000];
  14. doArray(primeNumbers);
  15. int j=1;
  16. for(int i=M-1;i<N;i++) {
  17. if(i==N-1) {
  18. System.out.print(primeNumbers[i]);
  19. }else {
  20. if(j%10==0) {
  21. System.out.print(primeNumbers[i]+"\n");
  22. j=1;
  23. }else {
  24. System.out.print(primeNumbers[i]+" ");
  25. j++;
  26. }
  27. }
  28. }
  29. }
  30. // 判断是否是素数
  31. public static boolean isPrimeNumber(int n) {
  32. for(int i=2;i<=(int)Math.sqrt(n);i++) {
  33. if(n%i==0) {
  34. return false;
  35. }
  36. }
  37. return true;
  38. }
  39. // 为指定数组赋值素数
  40. public static void doArray(int[] arr) {
  41. int j=2;
  42. for(int i=0;i<arr.length;i++) {
  43. for(int m=j;;m++) {
  44. if(isPrimeNumber(m)) {
  45. arr[i]=m;
  46. j=m+1;
  47. break;
  48. }
  49. }
  50. }
  51. }
  52. }

发表评论

表情:
评论列表 (有 0 条评论,415人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PAT 1013 素数

    令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。 输入格式: 输入在一行中给出M和N,其间以空格分隔。 输出格式: 输出从

    相关 1013. 素数 (20)

    令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。 输入格式: 输入在一行中给出M和N,其间以空格分隔。 输出格式: 输出从

    相关 1013 素数

    令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔。 输

    相关 PATB1013素数

    令 P​i​​ 表示第 i 个素数。现任给两个正整数 M≤N≤10​^4​​,请输出 P​M​​ 到 P​N​​ 的所有素数。 输入格式: 输入在一行中给出 M 和 N

    相关 1013 素数 (20 分)

    令 P​i​​ 表示第 i 个素数。现任给两个正整数 M≤N≤10​4​​,请输出 P​M​​ 到 P​N​​ 的所有素数。 输入格式: 输入在一行中给出 M 和 N,