题目链接。
分析:
一开始竟然天真的按着题意来。果断TLE。然后就改了下。
#include <stdio.h> int a[32800]; int main(){ int T, n, i, j, cnt; scanf("%d", &T); while(T--){ scanf("%d", &n); for(i=1; i<n; i++) a[i] = 1; for(i=2; i<n; i++){ if(n % i == 0){ for(j=2; j<n; j++){ if(a[j] && j % i == 0) a[j] = 0; } } } cnt = 0; for(i=1; i<n; i++)if(a[i]) cnt++; printf("%d\n", cnt); } return 0; }