Sum

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
 
描述

给你一个数N,使得在1~N之间能够找到x使得x满足gcd( x ,  N  ) >= M,

求解gcd(x,N)的和

 
输入
多组测试数据

每行输出两个数N,M(N,M不超int)

输出
输出sum
样例输入
5 3
样例输出
5
上传者
ACM_张书军
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int maxn = ;
const int moder = ; ll eular(ll n)
{
ll ans = n;
for(int i=;i*i <= n;i++){
if(n%i == ){
ans = ans - ans/i;
while(n%i == )
n = n/i;
}
}
if(n > )
ans = ans - ans/n;
return ans;
}
int main()
{
ll n,m;
while(scanf("%lld%lld",&n,&m)!=EOF){
ll res = ;
for(int i=;i*i <= n;i++) {
if (n % i == ) {
if (i >= m) {
res += i * eular(n / i);
}
if (i * i != n && n / i >= m){
res += n/i*eular(i);
}
}
}
printf("%lld\n",res);
}
return ;
}

————很巧妙的运用了欧拉函数

最新文章

  1. linux添加新LUN,无需重启
  2. 通过nsenter连接docker容器
  3. 分方式缓存常用的一致性hash是什么原理
  4. 如何修改SVN已提交项目的message log
  5. maven实战_01_搭建maven开发环境
  6. grunt 插件开发注意事项
  7. Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe
  8. mapbox.gl文字标注算法基本介绍
  9. Android自定义控件实例,圆形头像(图库 + 裁剪+设置),上传头像显示为圆形,附源码
  10. html注意事项
  11. [SimplePlayer] 7. 多线程处理
  12. python多个变量赋值
  13. js扩展运算符(spread)是三个点(...)
  14. 在.NET Core中三种实现“可插拔”AOP编程方式(附源码)
  15. 通过shell查找访问日志中访问量最大的ip
  16. OVS流表table之间的跳转
  17. java中使HttpDelete可以发送body信息
  18. atitit.编程语言的未来趋势与进化结果
  19. SQL Server窗口框架——ROWS、RANGE
  20. unity 学习记录

热门文章

  1. (二)无状态的web应用(单py的Django占位图片服务器)
  2. python全栈开发从入门到放弃之推导式详解
  3. Castle连接多数据库配置
  4. vue父子组件传值加例子
  5. C++切割字符串
  6. javascript 设置元素滚动大小
  7. snapshot与release
  8. DATETIME与TIMESTAMP
  9. 20145329 《Java程序设计》课程总结
  10. 聊一聊HTML &lt;!DOCTYPE&gt; 标签