Description

问从点(0,0)能看到点(0,0)和(n,n)之间的矩形的多少个整数点,看到(x,y)代表点(0,0)和点(x,y)间没有其他整数点,如看不到(2,4)因为中间有点(1,2)

Input

一行一个正整数n

Output

一行一个数表示能看到多少个点

Sample Input

2

Sample Output

5

HINT

样例解释:能看到(0,1)(1,0)(1,1)(2,1)(1,2)5个点

数据范围:

对于20%的数据n<=1000

对于50%的数据n<=100000

对于100%的数据n<=10000000


非常典型的欧拉函数的应用.

不说话, 直接上代码(欧拉函数这种东西要背熟啊)

#include<iostream>
#include<string.h>
using namespace std;
/*
void phi_table()
{
memset(phi,0,sizeof(phi));
phi[1] = 1;
for(int i = 2; i <= N; i++)
if(!phi[i])
for(int j = i; j <= N; j += i)
{
if(!phi[j])
phi[j] = j;
phi[j] = phi[j] / i * (i - 1);
}
}
*/
const int maxN = (int)1e7;
int phi[maxN + 1];
int main()
{
#ifndef ONLINE_JUDGE
freopen("see.in", "r", stdin);
freopen("see.out", "w", stdout);
#endif
int n;
cin >> n;
memset(phi, 0, sizeof(phi));
phi[1] = 1;
for(int i = 2; i <= n; i ++)
if(! phi[i])
for(int j = i; j <= n; j += i)
{
if(! phi[j])
phi[j] = j;
phi[j] = phi[j] / i * (i - 1);
}
long long ans = 0;
for(int i = 1; i <= n; i ++)
ans += phi[i];
cout << ans * 2 + 1;
}

随机推荐

  1. debian 7 stable 不能编译android源码

    rebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8-linaro/bin/arm-linux-androideabi-gcc: /lib/x86_ ...

  2. 令人惊叹的Npm工具包

    1.http-server (简单搭建http服务器) 2.json-server (JSON服务器,快速搭建resful api接口) 3.cssnano (css多功能优化工具) PS:比uncs ...

  3. xml报错“cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element”

    配置使用dubbo时,xml报错“cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be ...

  4. 【瓜分5000元奖金】Wannafly挑战赛13

    链接:https://www.nowcoder.com/acm/contest/80/A来源:牛客网 zzy的小号 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...

  5. PDO PDO_MYSQL MYSQLI MYSQL 的区别

    MYSQL,MYSQLI 这两个扩展本身就是访问MYSQL数据库的驱动 PDO则是一个抽象层接口 向程序员提供可调用的API是由,MYSQL驱动.MYSQLI驱动,以及PDO来提供. PDO_MYSQ ...

  6. 浏览器提示ERR_CONTENT_DECODING_FAILED,Gzip压缩数据无法解压

    最近在页面上有个显示数据表格的功能,数据由后台传给前台JS表格插件.数据格式为JSON 由于数据量很大,就想到用GZIP压缩以后传给前台.压缩前,某个表格的数据量达到3M多,用GZIP压缩后就200K ...

  7. 九度oj 题目1416:猴子吃坚果

    题目描述: 动物园的猴子吃坚果的顺序都是按强壮程度来定的,最强壮的吃完才能轮到下一个,现在我们给出各个猴子的名字,强壮程度,吃饱的量,然后查询对应的猴子必须要扔多少坚果才可以轮到. 输入: 输入有多组 ...

  8. iOS--自定义相册---对象数组按照时间戳排序

    将对象按照时间戳排序,这里典型的一个例子是登录账户的排序:本地客户端可能保存了多个账户信息,在登录窗口用户可以选择已经登陆过的账户直接登录,现在的需求是要时刻让最近登陆过的账户排在前面,对于每个账户, ...

  9. linux下编译静态库openssl

    先编译zlib cmake . -DCMAKE_INSTALL_PREFIX=/depends make make install 然后编译openssl ./config zlib no-rc5 n ...

  10. P1382 楼房 (扫描线,线段树)

    题目描述 地平线(x轴)上有n个矩(lou)形(fang),用三个整数h[i],l[i],r[i]来表示第i个矩形:矩形左下角为(l[i],0),右上角为(r[i],h[i]).地平线高度为0.在轮廓 ...