Description

  作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。      现在,C君希望你告诉他队伍整齐时能看到的学生人数。

其实就是在数一个n*n的网格可以数出多少条线,然后就是y=kx, 如果在同一条线上一定满足 y*a=k(x*a), 则这里的gcd(y,x)=1,通过观察的在这个红色三角形内可以发现每一个y值对应着小于它的x

则就是一个欧拉函数。

#include<iostream>
#include<cstdio>
using namespace std;
#define N int(4e4+10)
int phi[N], prime[N],tot;
bool mark[N];
void getphi()
{
int i, j;
phi[] = ;
for (i = ; i <= N; i++)
{
if (!mark[i]) { prime[++tot] = i; phi[i] = i - ; }
for (j = ; j <= tot; j++)
{
if (i*prime[j]>N) break;
mark[i*prime[j]] = ;
if (i%prime[j] == )
{
phi[i*prime[j]] = phi[i] * prime[j]; break;
}
else phi[i*prime[j]] = phi[i] * (prime[j] - );
}
}
}
int main()
{
getphi();
int n, ans = ;
scanf("%d", &n);
for (int i = ; i < n; ++i)
ans += phi[i];
printf("%d\n", ans * + );
return ;
}

最新文章

  1. HTML5-电影影评网
  2. Linux环境下Oracle数据库启动停止命令
  3. [html]兼容 IE6 IE7 的简单网页框架
  4. 用Quartz进行作业调度(转)
  5. swift系统学习控件篇:UIbutton+UIlabel+UITextField+UISwitch+UISlider
  6. O-C相关-06:对象与对象的关系
  7. &lt;微信应用开发系列&gt;定时刷新AccessToken
  8. 简单实现contentOS下开机自动启动tomcat
  9. iOS:判断昨天,今天,今年
  10. 通过游戏认识 --- JQuery与原生JS的差异
  11. iOS视频直播
  12. SharePoint2016: 使用powerShell启用project web app
  13. Docker入门(一)用hello world入门docker
  14. 使用jquery.more.js上滑加载更多
  15. Mongo 常用操作
  16. 20135239 益西拉姆 linux内核分析 进程的切换和系统的一般执行过程
  17. Nginx 安装与使用
  18. Lvs IP负载均衡技术
  19. centos中java安装跟配置
  20. r.js的build.js的详细配置解析

热门文章

  1. HashMap在JDK1.8中并发操作,代码测试以及源码分析
  2. InnoDB存储引擎概览
  3. Sharepoint 2010 工作流状态值
  4. oracle 外连接以及用on和where 的区别
  5. 《Visual C# 从零开始学》
  6. (白话理解)CAS机制
  7. mysql常见操作语句,建表,增删改查
  8. 配置Tree Shaking来减少JavaScript的打包体积
  9. 使用bootstrap的JS插件实现模态框效果
  10. Stackoverflow 珠玑:用于分组的 LINQ 扩展方法