1013
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { // 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 51 Scanner sc=new Scanner(System.in); int M=sc.nextInt(); int N=sc.nextInt(); boolean b; ArrayList<Integer> list=new ArrayList<Integer>(); list.add(2); bgm:for (int num=3;;num++){ for (int i=2;i<num;i++){ if(num%i==0){ break; } else if(i==num-1){ list.add(num); } if (list.size()==N){ break bgm; } } } for (int i=M-1;i<N;i++){ int count=(N-M+1)/10; if (count==0){ if (i==N-1){ System.out.print(list.get(i)); }else{ System.out.print(list.get(i)+" "); } }else{ if (i==N-1){ System.out.print(list.get(i)); }else{ for (int j=0;j<count;j++){ if ((i-M+2)%10==0&&i!=M){ System.out.println(list.get(i)); break; }else{ System.out.print(list.get(i)+" "); break; } } } } } } }
运行超时,扣2分
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[] list=new int[1000]; list[0]=2; list[1]=3; int x=1; for (int num=3;num<11000;num++){ for (int i=2;i<num;i++){ if (num%i==0){ break; } if(i==num-1){ x++; } if (x<1000){ list[x]=num; } } } for (int i=M-1;i<N;i++){ int count=(N-M+1)/10; if (count==0){ if (i==N-1){ System.out.print(list[i]); }else{ System.out.print(list[i]+" "); } }else{ if (i==N-1){ System.out.print(list[i]); }else{ for (int j=0;j<count;j++){ if ((i-M+2)%10==0&&i!=M){ System.out.println(list[i]); break; }else{ System.out.print(list[i]+" "); break; } } } } } } }
测试点错误,扣1分,应该是取值范围有问题
勿在浮沙筑高台