欧拉心算

Time Limit: 15 Sec  Memory Limit: 256 MB
Submit: 408  Solved: 244
[Submit][Status][Discuss]

Description

给出一个数字N

Input

第一行为一个正整数T,表示数据组数。
接下来T行为询问,每行包含一个正整数N。
T<=5000,N<=10^7

Output

按读入顺序输出答案。

Sample Input

1
10

Sample Output

136

HINT

 

Source

 

 #include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<cstdio> #define ll long long
#define N 10000007
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if (ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return x*f;
} int n;
int cnt,pri[N],phi[N];
ll sum[N];
bool flag[N]; void init_phi()
{
phi[]=;
for (int i=;i<=;i++)
{
if (!flag[i])pri[++cnt]=i,phi[i]=i-;
for (int j=;j<=cnt&&pri[j]*i<=;j++)
{
flag[pri[j]*i]=;
if (i%pri[j]==)
{
phi[pri[j]*i]=pri[j]*phi[i];
break;
}
else phi[pri[j]*i]=phi[i]*phi[pri[j]];
}
}
for (int i=;i<=;i++)sum[i]=sum[i-]+phi[i];
}
void solve(ll n)
{
ll last,ans=;
for (int i=;i<=n;i=last+)
{
last=n/(n/i);//琛ㄧずn涓埌杈惧摢閲屼负姝㈤兘鏄痭/i鐨?
ans+=(sum[last]-sum[i-])*((sum[n/i]<<)-);
}
printf("%lld\n",ans);
}
int main()
{
init_phi();
int T=read();
while(T--)
{
n=read();
solve(n);
}
}

最新文章

  1. HTML 学习笔记 JavaScript (String)
  2. funny_python 00 The Zen of Python
  3. Android 使用finalBitmap实现缓存读取
  4. 阿里云2003服务器VPN搭建[转自阿里云官方论坛]
  5. Codeforces Round #263 (Div. 2) A B C
  6. cocos2dx2.2.2弹出框的实现
  7. Why am I able to change the contents of const char *ptr?
  8. 石子合并(四边形不等式优化dp) POJ1160
  9. HDOJ-ACM1020(JAVA)
  10. [cocos2d]调用sqlite3数据库
  11. MBI 跨国网络传销 金字塔诈骗 解密
  12. 动态规划之插头DP入门
  13. MySQL主从复制 + Mycat实现读写分离
  14. echarts入门
  15. json字符串转换对象的方法
  16. 高性能JavaScript(快速响应的用户界面)
  17. 知道椭圆长轴,短轴长度,ab直线的长度知道且垂直于长轴。求ab的弧长。
  18. location对象查询字符串参数
  19. [Algorithm] Tower Hopper Problem
  20. Oracle 截取指定长度的字符

热门文章

  1. python 列表 字典转json
  2. presenting view controller
  3. 在Scrollview中使用AutoLayout
  4. shopnc路由功能分析
  5. Linux中的常见命令
  6. java中的final关键字(2013-10-11-163 写的日志迁移
  7. redis代理集群(Twemproxy)(1)
  8. Python爬取全站妹子图片,差点硬盘走火了!
  9. 水题:51Nod1432-独木舟
  10. ubuntu12.04ppa安装emacs24