(x, y)被看到仅当x与y互质

由此联想到欧拉函数

x=y是1个点,然后把正方形分成两半,一边是φ(n)

所以答案是2*∑φ(n)+1

#include<cstdio>
#include<cctype>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
#define _for(i, a, b) for(int i = (a); i <= (b); i++)
using namespace std; typedef long long ll;
const int MAXN = 1123;
ll euler[MAXN]; void get_euler()
{
_for(i, 1, MAXN) euler[i] = i;
_for(i, 2, MAXN)
{
if(euler[i] == i)
for(int j = i; j <= MAXN; j += i)
euler[j] = euler[j] / i * (i - 1);
euler[i] += euler[i-1];
}
} void read(ll& x)
{
int f = 1; x = 0; char ch = getchar();
while(!isdigit(ch)) { if(ch == '-1') f = -1; ch = getchar(); }
while(isdigit(ch)) { x = x * 10 + ch - '0'; ch = getchar(); }
x *= f;
} int main()
{
get_euler();
ll n; read(n);
_for(i, 1, n)
{
ll x; read(x);
printf("%d %lld %lld\n", i, x, 2 * euler[x] + 1);
}
return 0;
}

最新文章

  1. Emmet基本使用方法
  2. 每天一个linux命令(43):lsof命令
  3. Android推送通知指南
  4. Unity3d 模拟视锥的实现
  5. linux之SQL语句简明教程---LIKE
  6. Cocos2d-x3.0游戏实例《不要救我》第十篇(结束)——使用Json配置数据类型的怪物
  7. px,em,rem,vw单位在网页和移动端的应用
  8. 51nod 1981 如何愉快地与STL玩耍
  9. spring AOP的两种配置方式
  10. blogger添加代码高亮
  11. AET PN结
  12. VMware NAT 设置原理
  13. 《Linux内核分析》实践4
  14. windows下,java环境变量的设置,设置点击startup.bat启动tomcat
  15. 如何实现session跨服务器共享
  16. MVC Filter中加入验证并跳转
  17. idea 中如何生成类图
  18. 错误结果保存示例 - 【jmeter】
  19. 第二阶段Sprint冲刺会议6
  20. 【AI in 美团】深度学习在文本领域的应用

热门文章

  1. POJ 2187 Beauty Contest( 凸包求最远点对 )
  2. sort函数用法详解
  3. ansible shell模块
  4. mysql linux查看配置文件my.cnf位置
  5. windows 64位上oracle 11g安装
  6. HDU 4240 Route Redundancy
  7. C/C++ 浮点数比较问题
  8. ASP.NET-post、get的区别
  9. cmd文件操作-添加
  10. c# 获取文件夹下面所有文件夹列表