GCD

思路

题目要求,对于给定的n,mn, mn,m要求有多少数∑i=1ngcd(i,n)>=m\sum _{i = 1} ^{n} gcd(i, n) >= m∑i=1n​gcd(i,n)>=m

我们可以对这个式子进行化简,通过枚举d=gcd(i,n)d = gcd(i, n)d=gcd(i,n)有

∑d∣n∑i=1ngcd(i,d)==d\sum _{d \mid n} \sum _{i = 1} ^{n} gcd(i, d) == dd∣n∑​i=1∑n​gcd(i,d)==d

=∑d∣n∑i=1ndgcd(i,d)==1= \sum_{d \mid n} \sum _{i = 1}^{\frac{n}{d}} gcd(i, d) == 1=d∣n∑​i=1∑dn​​gcd(i,d)==1

=∑d∣nϕ(nd)= \sum _{d\mid n} \phi(\frac{n}{d})=d∣n∑​ϕ(dn​)

我们只要在统计答案的时候特判一下ddd就行了。

代码

/*Author : lifehappy
*/
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <bits/stdc++.h>#define mp make_pair
#define pb push_back
#define endl '\n'using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;const double pi = acos(-1.0);
const double eps = 1e-7;
const int inf = 0x3f3f3f3f;int eular(int x) {int ans = x;for(int i = 2; i * i <= x; i++) {if(x % i == 0) {while(x % i == 0) {x /= i;}ans = ans / i * (i - 1);}}if(x != 1) ans = ans / x * (x - 1);return ans;
}int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int T, t = 1; cin >> T;while(T--) {int n, m, ans = 0;cin >> n >> m;for(int i = 1; i * i <= n; i++) {if(n % i == 0) {if(i >= m) {ans += eular(n / i);}if(i * i != n && n / i >= m) {ans += eular(i);}}}cout << ans << endl;}return 0;
}

HDU 2588 GCD(欧拉函数)相关推荐

  1. hdu 4983(欧拉函数)

    题目大意:给出一组n和k,求解满足公式:gcd(n-a,n)*gcd(n-b,n)=n^k的(a,b)的对数,结果对(1e9+7)取模. 先证明:对于1<=x<=n,有gcd(n-x , ...

  2. jzoj3509-倒霉的小C【gcd,欧拉函数】

    正题 大意 画n条线,每次坐标变换为(x+n,y+(−1)(i+1)∗i)(i=1∼n)(x+n,y+(-1)^{(i+1)}*i) \ \ \ (i=1\sim n)(x+n,y+(−1)(i+1) ...

  3. [BZOJ2818][P2568]Gcd[欧拉函数]

    \(gcd(x,y)=p | p∈P\) \(gcd(x_1\times p,y_1\times p) = p\) \(gcd(x_1,y_1)=1\) 每个素数的贡献是对于\([1,\lfloor\ ...

  4. HDU 5514 Frogs 欧拉函数

    题意: 有\(m(1 \leq m \leq 10^9)\)个石子排成一圈,编号分别为\(0,1,2 \cdots m-1\). 现在在\(0\)号石头上有\(n(1 \leq n \leq 10^4 ...

  5. hdu (欧拉函数+容斥原理) GCD

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1695 看了别人的方法才会做 参考博客http://blog.csdn.net/shiren_Bod/ar ...

  6. hdu 4983 Goffi and GCD(欧拉函数)

    Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...

  7. HDU 1286 找新朋友 (欧拉函数)

    找新朋友 http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=1&problemid=8 T ...

  8. hdu 1286( 欧拉函数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...

  9. 中gcd函数_欧拉函数φ(n)的计算及欧拉定理

    1 欧拉函数定义 在数论中,对正整数n,欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient fun ...

最新文章

  1. 【活动】人工智能产学研生态建设研讨会报名
  2. nginx、fastCGI、php-fpm关系梳理(转载参考)
  3. ajax请求后台报没有body_前端常见面试 - 请求篇
  4. python summary结果提取_Python coverage.summary方法代码示例
  5. dnf公共频道服务器不稳定已从初始化状态,DNF公共频道跨区列表 组队连不上必看...
  6. 整数规划matlab实例,整数规划matlab
  7. java smp_什么是SMP系统
  8. easyui酷黑风格主题模板组件html
  9. 吉首大学2019年程序设计竞赛 A-SARS病毒(递推推公式)
  10. 程序员面试必问:你为什么要离开上一家公司。你会怎么回答?
  11. 【请直接拿走~】历年IJCAI顶会论文整理/下载(2016-2021)
  12. w ndows10支持微信吗,windows10系统怎样安装微信客户端
  13. Java极简角色权限后台管理框架springboot manager
  14. 终于,百度网盘等来了真正的对手
  15. 常用oracle数据库查询命令
  16. python小白从哪来开始-如何看待Python的由来?Python小白如何入门?(附教程)
  17. 怎么将照片压缩变小一点?超实用的几种方法
  18. 面试:25匹马,5个赛道,选出前三,最优解
  19. 【实战】物联网安防监控项目———需求分析
  20. 【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试

热门文章

  1. java离职交接文档_财务人员工作交接你知道么?没处理好不止将来风险大还可能违法...
  2. 高级php平时的工作,【高级PHP开发工作内容|工作职责|高级PHP开发做什么】-看准网...
  3. python的数值类型_Python的数值类型
  4. pytorch 加载模型_福利,PyTorch中文版官方教程来啦(附下载)
  5. python self 值自动改变,在python中对self的理解
  6. 微型计算机c560,2010广东省计算机等级考试试题 二级C试题最新考试试题库
  7. epublib java_使用Epublib处理epub文件 | 学步园
  8. html点击图片弹出大图特效代码,Jquery 点击图片在弹出层显示大图
  9. python是用来初始化_python的初始化运行了哪些?
  10. acwing2060. 奶牛选美(bfs)