容易想到容斥原理,但是结合欧拉函数的公式,我们得到:

  小于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 欧拉函数相关推荐

  1. hdu 1286( 欧拉函数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...

  2. HDU 5514 欧拉函数应用

    前置技能: <=i且与i互质的数的和是phi(i)*i/2 思路: 显然每个人的步数是gcd(a[i],m) 把m的所有因数预处理出来 1~m-1中的每个数 只会被gcd(m,i)筛掉一遍 // ...

  3. hdu (欧拉函数+容斥原理) GCD

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1695 看了别人的方法才会做 参考博客http://blog.csdn.net/shiren_Bod/ar ...

  4. HDU 1286 找新朋友 (欧拉函数)

    找新朋友 http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=1&problemid=8 T ...

  5. (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 ...

  6. hdu 4983(欧拉函数)

    题目大意:给出一组n和k,求解满足公式:gcd(n-a,n)*gcd(n-b,n)=n^k的(a,b)的对数,结果对(1e9+7)取模. 先证明:对于1<=x<=n,有gcd(n-x , ...

  7. hdu 1286 找新朋友 欧拉函数模版题

    找新朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem Des ...

  8. hdu 4983 Goffi and GCD(欧拉函数)

    Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...

  9. hdu 1286 找新朋友 (容斥原理 || 欧拉函数)

    Problem - 1286 用容斥原理做的代码: 1 #include <cstdio> 2 #include <iostream> 3 #include <algor ...

最新文章

  1. 如何在国内上medium_在Medium上写作的风格指南
  2. struts2_11_实现自己的拦截器的定义
  3. Junit单元测试时提示:Method should have no parameters
  4. 阿里云-变更备案信息记
  5. 使用Java RMI时要记住的两件事
  6. 【渝粤教育】电大中专测量学 (3)作业 题库
  7. 第一个将Palette Mode引入VVC(H.266),阿里云在JVET会议上引起关注
  8. 华为开发者被批评在 Linux 内核刷 KPI
  9. Python协程之greenlet
  10. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-Web版本工作流部分业务处理界面与查看界面全新展示...
  11. 【jQuery笔记Part2】03-jQuery-addBack()与end()的区别-children()与find()的区别
  12. Linux常用50条命令
  13. 程序员薪资怎么论高级还是初级_和程序员一样高薪,却过着清闲生活,测试员什么人都可做吗?...
  14. 「我们的首要之务,并不是遥望模糊的远方,而是专心处理眼前的事务。」---这是卡内基先生所强调的克服忧虑、开创人生的关键。...
  15. 白盒测试-条件组合覆盖
  16. 批量删除QQ空间说说
  17. x265 命令行参数大全(比较详细)
  18. PTA_拯救007 (25 分)【简单DFS+特判】
  19. docker常用命令(学习自用)
  20. 芯片引脚外围电容有何作用?

热门文章

  1. Eclipse编程快捷键
  2. 在Windows 2003中集成RAID卡驱动
  3. 再见,齐达内,再见,法国队
  4. Faiss优化:针对OMP_NUM_THREADS环境变量设置的测试验证
  5. mybatis$和#的区别
  6. node nest 框架学习(一)
  7. Day5---D4:合规和审计管理
  8. Django博客功能实现—文章评论功能
  9. 【转贴】PLSQL不安装客户端连接远程oracle
  10. category android:name=android.intent.category.DEFAULT / 惹的祸