题意理解:
求解以a为初始值,d为差值的等差数列中,第n个素数;
解题思路:
1. 穷举;
2. 将对素数A的判断区间缩小到[2, sqrt(A)]范围内;
解题代码:
#include<iostream>
#include<math.h>
using namespace std;
bool isPrime(int num){
if(num<2){
return false;
}
for(int i=2;i<=sqrt(1.0*num);i++){
if(num%i==0){
return false;
}
}
return true;
}
int main(int argc, char *argv[]){
int a,d,n;
while(cin>>a>>d>>n, a||d||n){
int primeIndex=0;
int index=0;
int an;
while(primeIndex!=n){
an=a+index*d;
if(isPrime(an)){
primeIndex++;
}
index++;
}
cout<<an<<endl;
}
return 0;
}