【算法代码一】
** 函数版算法代码 ← 求大于给定数的最小素数
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
if(n<2) return false;
for(int i=2; i<=sqrt(n); i++) {
if(n%i==0) return false;
}
return true;
}
int getPrime(int n) { //Get least prime bigger than n
for(int i=n+1; ;i++) {
if(isPrime(i)) {
return i;
break;
}
}
}
int main(){
int n;
cin>>n;
cout<<getPrime(n)<<endl;
return 0;
}
/*
in:100
out:101
*/
求小于给定数的最大素数代码,参见:https://blog.csdn.net/hnjzsyjyj/article/details/127699346
【算法代码二】
** 非函数版算法代码 ← 求大于给定数的最小素数
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=n+1; ;i++){
int flag=1;
for(int j=2;j<=sqrt(i);j++){
if(i%j==0){
flag=0;
break;
}
}
if(flag==1){
cout<<i<<endl;
break;
}
}
return 0;
}
/*
in:100
out:101
in:1000
out:1009
*/