博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-2588-GCD (欧拉函数)
阅读量:5282 次
发布时间:2019-06-14

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

The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the largest divisor common to a and b,For example,(1,2)=1,(12,18)=6. 

(a,b) can be easily found by the Euclidean algorithm. Now Carp is considering a little more difficult problem: 
Given integers N and M, how many integer X satisfies 1<=X<=N and (X,N)>=M.

Input

The first line of input is an integer T(T<=100) representing the number of test cases. The following T lines each contains two numbers N and M (2<=N<=1000000000, 1<=M<=N), representing a test case.

Output

For each test case,output the answer on a single line.

Sample Input

31 110 210000 72

Sample Output

16260

代码:

#include
#include
#include
#include
using namespace std;long long int oula(int n){ long long int res=1; for(int t=2;t*t<=n;t++) { if(n%t==0) { n/=t; res*=t-1; while(n%t==0) { n/=t; res*=t; } } } if(n>1) { res*=n-1; } return res;}int main(){ int n; cin>>n; int a,b; long long int ans; for(int t=0;t
=b) { ans+=oula(a/j); } if(a/j>=b) { ans+=oula(j); } } } if(j*j==a&&j>=b) { ans+=oula(j); } cout<
<

 

转载于:https://www.cnblogs.com/Staceyacm/p/10781944.html

你可能感兴趣的文章
游标使用
查看>>
LLBL Gen Pro 设计器使用指南
查看>>
SetCapture() & ReleaseCapture() 捕获窗口外的【松开左键事件】: WM_LBUTTONUP
查看>>
Android 设置界面的圆角选项
查看>>
百度地图api服务端根据经纬度得到地址
查看>>
根据xml生成相应的对象类
查看>>
Android StageFrightMediaScanner源码解析
查看>>
springBoot 项目 jar/war打包 并运行
查看>>
HDU 1501 Zipper
查看>>
打包java程序生成exe
查看>>
八叉树
查看>>
poj 1129 搜索
查看>>
Git 远程仓库
查看>>
HttpClient的巨坑
查看>>
关于静态文本框透明度的问题
查看>>
海量数据、高并发的优化方案
查看>>
javascript的发展及个人笔记
查看>>
全选,反全选,反选,获取选中的值,根据子选择控制全选按钮
查看>>
梦断代码读后感01
查看>>
[CF#250 Div.2 D]The Child and Zoo(并查集)
查看>>