【SDOI2012】Longge的问题

本文介绍了一道SDOI2012竞赛题目的解决方案,该题目要求计算给定整数N下所有i (1≤i≤N)与N的最大公约数之和。解答中使用了欧拉函数的概念,通过枚举N的因数进行求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【SDOI2012】Longge的问题

【题目描述】

Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:

给定一个整数N,你需要求出Σgcd(i, N)(1<=i<=N) 。

【输入】

输入包含一个整数 N ,如题所示

【输出】

输出包含一个整数,为所求的答案。

【输入样例】

6

【输出样例】

15

【题解】

欧拉函数phi(x)等于不超过x且和x互素的整数个数,这道题需要欧拉函数求解。

枚举gcd(i,N)的结果k,相当于枚举N的因数,则答案转化为Σi*φ(n/i)。

直接枚举会超时,所以枚举1到√N,每次计算i*φ(n/i)和(n/i)*φi就可以了。

【代码】

时间复杂度相当低,所以无压力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值