我后来也是这么想的,但不知怎么做,这是我的代码,会超时
#include <iostream>
#include <stdio.h>
using namespace std;
bool isPrime(unsigned long n) {  
    if (n <= 3) {      
        return n > 1;  
    } else if (n % 2 == 0 || n % 3 == 0) {   
        return false;   
    } else {     
        for (unsigned short i = 5; i * i <= n; i += 6) {       
            if (n % i == 0 || n % (i + 2) == 0) {       
                return false;      
            }       
        }     
        return true;  
    }
}
int main(){
    
     int a[1299],i,t=0;
    for(i=2;i<10000;i++){
        if(isPrime(i)){
            a[t]=i;
            t++;
        }
    }
    int c,b,min=0,max=0;
    
    while(true){
        scanf_s("%d %d",&b,&c);
        for(i=0;i<1299;i++){
            if(i==0){
                if(a[0]>=b){
                    min=0;
  //                  cout<<"min1"<<min<<endl;
                }
            }
            if(i>=1){
                if(a[i]>=b&&a[i-1]<=b){
 //                   cout<<"min2"<<min<<endl;
                    min=i;
                }
                if(a[i]>=c&&a[i-1]<=c){
                    max=i;
  //                  cout<<"max"<<max<<endl;
                     break;
                }
            }
        }
        if((max-min)==1){
            cout<<"YES"<<endl;
        }
        if((max-min)!=1){
            cout<<"NO"<<endl;
        }
        
    }
    return 0;
}