Distinct Primes 打表
来源:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=10907#problem/E
发布时间: 2012-09-04 14:19:30 作者: rapoo
Distinct Primes 打表
来源:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=10907#problem/E
#include <iostream>#include <cstdio>#include <cmath>#include <string.h>using namespace std;#define CLR(arr,val) memset(arr,val,sizeof(val))const int N = 100000;int flag[N],ans[1010];void init(){CLR(flag,0);for(int i = 2; i <= sqrt(N + 0.5); ++i){if(!flag[i]){ for(int j = i * 2; j < N; j += i) flag[j] = 1;}}int K = 1;for(int i = 30;;++i){ int cnt = 0; if(!flag[i]) continue; int s = i; for(int j = 2;j < N;++j){ if(flag[j]) continue; if(s % j == 0){ cnt++; while(s%j == 0) s /= j; } if(cnt >= 3){ ans[K++] = i; break; } } if(K > 1001) break;}}int main(){init();int numcase;scanf("%d",&numcase);while(numcase--){ int n; scanf("%d",&n); printf("%d\n",ans[n]);}return 0;}