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