java判断素数如何才能不时

img

img

import java.util.Scanner;
public class Main {
        public static void main(String[] args){
            Scanner sc=new Scanner(System.in);
            int a=sc.nextInt();
            for(int i=0;i<a;i++){
                int b=sc.nextInt();
                boolean flag=true;
                for(int j=2;j*j<b;j++){
                    if(b%j==0){
                        flag=false;
                        break;
                    }
                }
                if(flag)
                    System.out.println("Yes");
                else
                    System.out.println("No");
            }
        }
    }


https://pintia.cn/problem-sets/994805046380707840/problems/994805106325700608

为什么第二个样例会超时啊?

不超速 就运行慢一点,运行一句sleep 一段时间

img


你这里每一次都是输入一次,相当于你第一次输了多少,后面还需要输入多少次;改成int b=a;