首页 > 其他 > 详细

HDU1286 找新朋友

时间:2014-05-25 23:58:25      阅读:500      评论:0      收藏:0      [点我收藏+]

这个问题简单暴力的话会TLE,在这里我使用了筛法。

bubuko.com,布布扣
bubuko.com,布布扣
 1 #include <cstdio>
 2 #include <cstring>
 3 #define MAXN 36000
 4 int m[MAXN];
 5 bool f[MAXN];
 6 int solve(int n){
 7     if(m[n]) return m[n];
 8     int i,j,ans=1;
 9     memset(f,true,sizeof(f));
10     for(i=2;i<n;++i){
11         if(f[i]){
12             if(n%i==0)
13                 for(j=i<<1;j<n;j+=i)
14                     f[j]=false;
15             else ++ans;
16         }
17     }
18     return (m[n]=ans);
19 }
20 int main(){
21     int t,n;
22     memset(m,0,sizeof(m));
23     scanf("%d",&t);
24     while(t--){
25         scanf("%d",&n);
26         printf("%d\n",solve(n));
27     }
28     return 0;
29 }
View Code
bubuko.com,布布扣

 

HDU1286 找新朋友,布布扣,bubuko.com

HDU1286 找新朋友

原文:http://www.cnblogs.com/Z3L5M/p/3750092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!