hdu 3501 Calculation 2(<n且与n不互质的数之和)
来源:互联网 发布:阿里巴巴产品标题优化 编辑:程序博客网 时间:2024/05/17 12:00
Calculation 2
题目链接:Calculation 2
题意:求小于n且与n不互质的数之和
思路:
如果GCD(n,a)=1,那么GCD(n,n-a)=1
那么对于n来说,有phi(n)个小于n且与n互质的数。由上面可知这些数之和为phi[n]/2*n
则小于n且与n不互质的数之和为(n-1)*(n-1+1)/2-phi[n]/2*n;
代码:
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;typedef long long LL;const LL mod=1e9+7;LL euler(LL n){ LL res=n; for(LL i=2; i*i<=n; ++i) { if(n%i==0) { res=res/i*(i-1); while(n%i==0) n/=i; } } if(n>1) res=res/n*(n-1); return res;}int main(){ LL n; while(~scanf("%lld",&n)&&n) printf("%lld\n",(n*(n-1)/2-n*euler(n)/2)%mod); return 0;}
阅读全文
1 0
- hdu 3501 Calculation 2(<n且与n不互质的数之和)
- 【数论-欧拉函数】HDU 3501 Calculation 2 ( 与n不互质的数的和 )
- hdu 3501 欧拉函数(求小于n与n不互质的数之和)
- HDU 3501 Calculation 2(容斥原理、求[1,n - 1]中和n不互素的数字之和)
- hdu 3501 欧拉的和(≤N且与N互质的数的和
- hdu 3501 数论 与n不互质的数的和
- hdu 1999 不可摸数(筛法求数n的真因子之和)
- hdu 4135 A-B中,与N不互质的数
- HDU 1215 求N的因子之和
- HDU 2824 欧拉函数 求小于等于n且与n互质数的个数
- [ACM] HDU 3398 String (从坐标0,0走到m,n且不能与y=x-1相交的方法数,整数唯一分解定理)
- HDU 5879-Cure(1/n^2之和)
- 欧拉函数的延伸:关于求小于等于n且与n互质的数的和。
- 【HDU】3501 - Calculation 2(欧拉函数,互质数之和公式)
- [数论]小于n且与n互素的个数(欧拉函数)
- n条直线互不平行且无三线共点的最多交点数max=1+2+……(n-1)=n(n-1)/2
- 求1-n中所有数的最大公约数之和
- 51 nod 最大公约数之和 (求1~n里面各个数的gcd和 n<=1000000)
- 微服务(Microservice)追记
- 1.25Android 学习+进度之二十五-小修小补及完工
- perl 退出函数问题
- 数值处理
- Java守护线程注意事项
- hdu 3501 Calculation 2(<n且与n不互质的数之和)
- bzoj 3439
- FIO使用
- 改变性格也可以从食物下手
- 总是忘记null的判断,每次都百度,这次自己记下了
- Mark-20170803-git(每次都要重新找链接太麻烦了,不如整理一下步骤)
- SharedPreferences存储
- 数据结构11:哈希表专题
- [LeetCode]226. Invert Binary Tree--反转二叉树