博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1695 gcd
阅读量:6474 次
发布时间:2019-06-23

本文共 2011 字,大约阅读时间需要 6 分钟。

容斥原理:

所有不与x互素的数的个数= 1个因子倍数的个数 - 2个因子乘积的倍数的个数 + 3个……-……

GCDTime Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8901    Accepted Submission(s): 3289Problem DescriptionGiven 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y) = k. GCD(x, y) means the greatest common divisor of x and y. Since the number of choices may be very large, you're only required to output the total number of different number pairs.Please notice that, (x=5, y=7) and (x=7, y=5) are considered to be the same.Yoiu can assume that a = c = 1 in all test cases. InputThe input consists of several test cases. The first line of the input is the number of the cases. There are no more than 3,000 cases.Each case contains five integers: a, b, c, d, k, 0 < a <= b <= 100,000, 0 < c <= d <= 100,000, 0 <= k <= 100,000, as described above. OutputFor each test case, print the number of choices. Use the format in the example. Sample Input21 3 1 5 11 11014 1 14409 9 Sample OutputCase 1: 9Case 2: 736427HintFor the first sample input, all the 9 pairs of numbers are (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 5), (3, 4), (3, 5).

  给你一个正整数N,确定在1到N之间有多少个可以表示成M^K(K>1)的数。

打表60以内的素数,然后容斥

#include
#include
#include
#include
using namespace std;int list[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59};long long ans,n;int i;void dfs(int mid,int num,int k){ if(k==0){ long long temp=pow(n,1.0/num); if(pow(temp,0.0+num)>n) temp--; temp--; if(temp>0) ans+=temp*(i&1?1:-1); //!! return ; } if(mid>=17) return ; if(num*list[mid]<60) dfs(mid+1,num*list[mid],k-1); dfs(mid+1,num,k);}int main(){ while(scanf("%I64d",&n)!=EOF){ ans=0; for(i=1;i<=3;i++) dfs(0,1,i); printf("%I64d\n",ans+1); } return 0;}

  

转载于:https://www.cnblogs.com/ruoju/p/5400825.html

你可能感兴趣的文章
NBU备份oracle全备脚本注释
查看>>
Kickstart无人职守安装RHEL5
查看>>
关于Properties的用法的详细解释
查看>>
网络连接状态详解
查看>>
四格漫画《MUXing》——他们在干什么
查看>>
正则表达式收藏
查看>>
校园网维护(一)
查看>>
mysql 之flush操作
查看>>
gentoo中使用emerge更新安装软件是出现的问题及解决方法
查看>>
TCP/IP
查看>>
wdmWin10下遍历PCI配置空间
查看>>
移动通信技术的发展
查看>>
使用表格分割图片
查看>>
我的友情链接
查看>>
为CentOS虚拟机添加第二块网卡
查看>>
Linux防火墙iptables学习笔记
查看>>
Java常用类(一)Object
查看>>
激励着我前进
查看>>
我的友情链接
查看>>
npm打包指定本地nexus仓库
查看>>