hdu 3501 欧拉函数
容易想到容斥原理,但是结合欧拉函数的公式,我们得到:
小于n且与n互质的数的和为:n * phi(n) / 2
于是问题迎刃而解。
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace std; 5 6 typedef long long ll; 7 const int MOD = 1000000007; 8 9 int euler_phi( int n ) 10 { 11 int ans = n; 12 for ( int i = 2; i * i <= n; i++ ) 13 { 14 if ( n % i == 0 ) 15 { 16 ans = ans / i * ( i - 1 ); 17 do 18 { 19 n = n / i; 20 } 21 while ( n % i == 0 ); 22 } 23 } 24 if ( n > 1 ) 25 { 26 ans = ans / n * ( n - 1 ); 27 } 28 return ans; 29 } 30 31 int main () 32 { 33 int n; 34 while ( scanf("%d", &n), n ) 35 { 36 int res = ( ll ) ( n - 1 - euler_phi(n) ) * n / 2 % MOD; 37 printf("%d\n", res); 38 } 39 return 0; 40 }
转载于:https://www.cnblogs.com/huoxiayu/p/4707417.html
hdu 3501 欧拉函数相关推荐
- hdu 1286( 欧拉函数 )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...
- HDU 5514 欧拉函数应用
前置技能: <=i且与i互质的数的和是phi(i)*i/2 思路: 显然每个人的步数是gcd(a[i],m) 把m的所有因数预处理出来 1~m-1中的每个数 只会被gcd(m,i)筛掉一遍 // ...
- hdu (欧拉函数+容斥原理) GCD
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1695 看了别人的方法才会做 参考博客http://blog.csdn.net/shiren_Bod/ar ...
- HDU 1286 找新朋友 (欧拉函数)
找新朋友 http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=8 T ...
- (hdu step 7.2.1)The Euler function(欧拉函数模板题——求phi[a]到phi[b]的和)
题目: The Euler function Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- hdu 4983(欧拉函数)
题目大意:给出一组n和k,求解满足公式:gcd(n-a,n)*gcd(n-b,n)=n^k的(a,b)的对数,结果对(1e9+7)取模. 先证明:对于1<=x<=n,有gcd(n-x , ...
- hdu 1286 找新朋友 欧拉函数模版题
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Des ...
- hdu 4983 Goffi and GCD(欧拉函数)
Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...
- hdu 1286 找新朋友 (容斥原理 || 欧拉函数)
Problem - 1286 用容斥原理做的代码: 1 #include <cstdio> 2 #include <iostream> 3 #include <algor ...
最新文章
- 如何在国内上medium_在Medium上写作的风格指南
- struts2_11_实现自己的拦截器的定义
- Junit单元测试时提示:Method should have no parameters
- 阿里云-变更备案信息记
- 使用Java RMI时要记住的两件事
- 【渝粤教育】电大中专测量学 (3)作业 题库
- 第一个将Palette Mode引入VVC(H.266),阿里云在JVET会议上引起关注
- 华为开发者被批评在 Linux 内核刷 KPI
- Python协程之greenlet
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-Web版本工作流部分业务处理界面与查看界面全新展示...
- 【jQuery笔记Part2】03-jQuery-addBack()与end()的区别-children()与find()的区别
- Linux常用50条命令
- 程序员薪资怎么论高级还是初级_和程序员一样高薪,却过着清闲生活,测试员什么人都可做吗?...
- 「我们的首要之务,并不是遥望模糊的远方,而是专心处理眼前的事务。」---这是卡内基先生所强调的克服忧虑、开创人生的关键。...
- 白盒测试-条件组合覆盖
- 批量删除QQ空间说说
- x265 命令行参数大全(比较详细)
- PTA_拯救007 (25 分)【简单DFS+特判】
- docker常用命令(学习自用)
- 芯片引脚外围电容有何作用?
热门文章
- Eclipse编程快捷键
- 在Windows 2003中集成RAID卡驱动
- 再见,齐达内,再见,法国队
- Faiss优化:针对OMP_NUM_THREADS环境变量设置的测试验证
- mybatis$和#的区别
- node nest 框架学习(一)
- Day5---D4:合规和审计管理
- Django博客功能实现—文章评论功能
- 【转贴】PLSQL不安装客户端连接远程oracle
- category android:name=android.intent.category.DEFAULT / 惹的祸