求1~n中与m互质的数的个数
来源:互联网 发布:太极越狱没有网络 编辑:程序博客网 时间:2024/06/06 16:47
dfs版:
LL fac[80],num;void Divide(LL m){ num=0; if(!vis[m]) { fac[num++]=m; return; } for(int i=0;i<k&&m>1;i++) { if(m%prime[i]==0) { fac[num++]=prime[i]; while(m%prime[i]==0) m/=prime[i]; if(m>1&&!vis[m]) { fac[num++]=m; return; } } }}LL anss;void dfs(int k,int l,int s,int a){ if(k==num){ if(l&1) anss-=a/s; else anss+=a/s; return ; } dfs(k+1,l,s,a); dfs(k+1,l+1,s*fac[k],a); return ;}void work(int n,int m){ anss=0; Divide(m); dfs(0,0,1,n);}
非dfs版:
LL fac[80],num;void Divide(LL m){ num=0; for(int i=0;prime[i]*prime[i]<=m;i++) if(m%prime[i]==0) { fac[num++]=prime[i]; while(m%prime[i]==0) m/=prime[i]; } if(m>1) fac[num++]=m;}LL work(LL n,LL m){ LL sum=0; Divide(m); for(int i=1;i<(1<<num);i++) { LL tmp=1,t=0; for(int j=0;j<num;j++) if((1<<j)&i) t++,tmp*=fac[j]; if(t&1) sum+=n/tmp; else sum-=n/tmp; } return n-sum;}
- 求1~n中与m互质的数的个数
- BZOJ2186]沙拉公主的困惑(求1-N!中与M!互质的数的个数)
- HDU 4135:Co-prime 容斥原理求(1,m)中与n互质的数的个数
- 求1~n中与m互质的数的个数(m>n) 附hdu1695题解(欧拉函数+容斥原理)
- 求1到N个数中包含质因子m的数的个数
- 容斥经典:求1-m中与n互素的数的个数(hdu4153)
- hdu 4135 容斥原理 求(1,m)区间与n互质的数的个数.
- BZoj 2186 [Sdoi2008]沙拉公主的困惑 (1~N!中与M!互质的数的个数)
- 求n!中因子m的个数
- 求n个数选m个数的组合数
- HDU 4135(Co-prime-[1,m]内与n互质的数的个数)
- 求1--r中与n互素数的个数
- 求0-n中有1的数的个数,没有1的数的个数
- 算法题:求N!末尾0的个数和求二进制数中1的个数
- 欧拉函数,求小于等于n 的数里与 n 互质的数的个数
- 从M个数中选择前N大的数
- 关于“求[1,n]中与n互质的数的和”的讨论
- 欧拉函数(求与n互质的数的个数)
- 回调函数的一点理解
- 待消化:typedef
- hdu3518(后缀数组)
- php--http协议
- Using Message Box (MsgBox) in Excel VBA
- 求1~n中与m互质的数的个数
- MySQL中进行树状所有子节点的查询
- 教你使用python获得字符串的md5值
- JAVA NIO 简介
- Silverlight 4里Textbox在失去焦点之前无法获取到Text值的另类解决方法
- FILE 文件结构体
- 分享比较好看的thinkphp二十多种分页样式
- 虚继承
- 待消化2:C语言的5种存储类以及关键字volatile、restrict