題意解釋
題意就是給了3個(gè)數(shù),第一個(gè)是最開始的第一個(gè)數(shù),第二個(gè)是每次累加的數(shù),第三個(gè)數(shù)是表達(dá)輸出的是生成的數(shù)中,包含的素?cái)?shù)中的第n個(gè)素?cái)?shù)。(有點(diǎn)繞,多讀幾遍題就理解了)
收獲
這道題是更大的一個(gè)水題,在之前的POJ2739中用到了素?cái)?shù)的判別方法,直白的翻譯題意就好了。注意0和1不是素?cái)?shù),第一次的WA就這么貢獻(xiàn)的。推薦測(cè)試下1 1 1這個(gè)數(shù)據(jù)。
AC代碼
#include <iostream>
using namespace std;
int if_is_prime_number(int n){
if(n == 0 || n == 1)
return 0;
else{
for (int i = 2;i * i <= n;i++) {
if (n % i == 0) return 0;
}
}
return 1;
}
int main(void){
int a,b,n;
int output = 0;
scanf("%d %d %d",&a,&b,&n);
while (a != 0 && b != 0 && n != 0) {
int i = 0;
while (n > 0) {
if(if_is_prime_number(a + i*b))n--;
output = a + i*b;
/*
cout << "n :" << n << endl;
cout << "judge :" << if_is_prime_number(a + i*b) << endl;
cout << "the number :" << a + i*b << endl << endl;
*/
i++;
}
cout << output << endl;
scanf("%d %d %d",&a,&b,&n);
}
return 0;
}