3个TLE的代码:
#include <bits/stdc++.h>
using namespace std;
int sushu(int a){
for(int i=2;i<=a/2;i++){
if(a%i==0){
return 0;
}
}
return 1;
}
int main(){
int n,ans,x=2;
cin>>n;
while(n!=0){
if(sushu(x)==1) ans=x,n--;
x++;
}
cout<<ans;
return 0;
}
加了特判的AC代码:
#include <bits/stdc++.h>
using namespace std;
int sushu(int a){
for(int i=2;i*i<=a;i++){
if(a%i==0){
return 0;
}
}
return 1;
}
int main(){
int n,ans,x=5;
cin>>n;
if(n==1){
cout<<2;
return 0;
}
if(n==2){
cout<<3;
return 0;
}
n-=2;
while(n!=0){
if(sushu(x)==1) ans=x,n--;
x++;
}
cout<<ans;
return 0;
}
为什么加完特判之后速度快那么多
TLE代码记录
AC代码记录