POJ_3006

来源:互联网 发布:mac关闭spotlight搜索 编辑:程序博客网 时间:2024/04/26 06:22

解题:

    果然是水题, 还是直接线性打表, 然后查找。 不过,1million之内的素数表,只用了16ms,这个应该是已知最快的了吧?哈哈~


//1108k  16ms#include <cstdio>#include <cstdlib>#include <cstring>#define MAX 1000000char prime[MAX];int main() {  memset(prime, 1, MAX);  memset(prime, 0, 2);  for (int i = 4; i < MAX; i += 2)    prime[i] = 0;  for (int i = 3; i * i < MAX; i += 2) {    if (!prime[i])      continue;    for (int j = i * i; j < MAX; j += 2 * i)      prime[j] = 0;  }  int a, b, n;  while (scanf("%d %d %d", &a, &b, &n) && a && b && n) {    for (int seq = a, cnt = 0; ; seq += b) {      if (prime[seq])        ++cnt;      if (cnt == n) {        printf("%d\n", seq);        break;      }    }  }  return 0;}


原创粉丝点击