首页 > 代码库 > hdu 1286 找新朋友
hdu 1286 找新朋友
http://acm.hdu.edu.cn/showproblem.php?pid=1286
也是筛法,但感觉...囧...有点不真实...好吧
1 #include<stdio.h> 2 #include<string.h> 3 #define MAX 33000 4 int a[MAX]; 5 int main() 6 { 7 int i,j,n,x,k,num; 8 scanf("%d",&n); 9 while(n--)10 {11 scanf("%d",&x);num=0;
12 memset(a,0,sizeof(a));13 for(i=2;i<=x/2+1;i++)14 if(x%i==0)15 {16 for(k=i;k<x;k+=i) //这行很重要,否则有超时的风险(虽然尝试了也AC了吧....囧)17 a[k]=1;18 19 }20 for(i=1;i<x;i++)21 {22 if(a[i]==0)23 num++;24 } 25 printf("%d\n",num); 26 } 27 28 }
这题还有个方法用欧拉函数,好像直接就能求出规定范围内与n互质的整数个数(⊙o⊙)
http://blog.csdn.net/gray_1566/article/details/24491811
还没好好看这个,先mark下。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。