数列中第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;
  }
   

 

posted @ 2016-11-01 16:10  云琛  阅读(176)  评论(0)    收藏  举报