题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2705

撕逼题。不就是枚举gcd==d,求和phi[ n/d ]么。

然后预处理sqrt (n)的阶乘,RE得不行。发现用到了大于sqrt (n)的阶乘。

然后翻看TJ。

发现phi可以现求!就用那个式子。我竟然都忘了!

注意最后剩下的一个大于sqrt (i)的质因数。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define ll long long
using namespace std;
const int N=1e5+;
ll ans,n;
ll phi(ll a)
{
ll ret=a;
for(ll i=;i*i<=a;i++)
if(a%i==)
{
ret=ret/i*(i-);
while(a%i==)a/=i;
}
if(a>)ret=ret/a*(a-);
return ret;
}
int main()
{
scanf("%lld",&n);
for(ll i=;i*i<=n;i++)
if(n%i==)
if(i!=n/i)ans+=i*phi(n/i)+(n/i)*phi(i);
else ans+=i*phi(n/i);
printf("%lld\n",ans);
return ;
}

最新文章

  1. NOIP2012同余方程
  2. 开源项目大全 &gt;&gt; ...
  3. OpenCV linux cmake添加使用
  4. linux应用程序地址布局,王明学learn
  5. [简介]HTML5 and CSS3
  6. 《点石成金-访客至上的web和移动可用性设计秘籍》读书笔记
  7. linux 软连接方式实现上传文件存储目录的无缝迁移
  8. 什么是优先级队列(priority queue)?
  9. endnote X7参考文献缩进设置
  10. tesseract ocr文字识别
  11. 我们一起学Docker(一)
  12. js继承的常用方法
  13. Python中的列表操作
  14. multiwan 系统配置补充
  15. MFC-注册热键
  16. unity音量设置(同时设置到多个物体上)——引伸语言设置
  17. 在R中运行Shell命令脚本(Call shell commands from R)
  18. HBase1.2.0增删改查Scala代码实现
  19. JS日期、月份的加减
  20. MySQL----MySQL数据库入门----第三章 添加、更新与删除数据

热门文章

  1. TableView之表头、表尾,区头、区尾!
  2. java编程题古典算法之兔子问题
  3. C# 把十六进制表示的ASCII码转换为对应的字符组成的字符串
  4. 搞了一宿,弄完了一个POP3协议
  5. mac版pycharm的字体和行间距设置
  6. Python3.5 安装 &amp; hello world
  7. #include &lt;filename.h&gt; 和 #include“filename.h” 有什么区别
  8. vim之buffer 与 折叠
  9. SpringMVC,3种不同的URL路由配置方法 [转]
  10. megacli在线raid构建详解(转载自用)