数列中第n个素数
#include <stdio.h> #include<math.h> int main() { int a, d, n, i, j, num, flag = 0, exp = 1; while (scanf_s("%d %d %d", &a, &d, &n) != EOF) { for (i = 0;;i++) { num = a + i*d; //数列通项公式 for (j = 2;j <= (int)sqrt(num);j++) { if (num%j == 0) { exp = 0;break; //判断是否有因数 } else exp = 1; } if (exp == 1 && num != 1)flag++; //对素数进行计数 if (flag == n) { printf_s("%d\n", num); break; } } flag = 0; exp = 1; //重置 } return 0; }

浙公网安备 33010602011771号