题目链接:http://lightoj.com/volume_showproblem.php?problem=1370

题意:给你n个整数,第i个整数为Xi。定义phi(k)为k的欧拉函数值,设pi为满足phi(pi)>=Xi的最小整数,题目就是要求sum(p1,p2,p3,...,pn)

思路:对任意x,有prime[i]<=x<prime[i+1]必定有EulerPhi[x]<=prime[i],要满足phi(p)>=x那么p必定为x后面的第一个素数,进行素数打表即可。

code:

 #include <cstdio>
#include <cstring>
typedef long long LL;
const int MAXN = ; int p[MAXN];
bool isPrime[MAXN]; void init()
{
memset(isPrime, true, sizeof(isPrime));
isPrime[] = false;
isPrime[] = false;
// isPrime[1000001] = true;
for (int i = ; i * i < MAXN; ++i) {
if (isPrime[i]) {
int j = i * i;
while (j < MAXN) {
isPrime[j] = false;
j += i;
}
}
}
int k = ;
for (int i = ; i >= ; --i) {
if (isPrime[i]) {
p[i] = k;
k = i;
continue;
}
p[i] = k;
}
} int main()
{
init();
int nCase;
scanf("%d", &nCase);
for (int cas = ; cas <= nCase; ++cas) {
int n, k;
scanf("%d", &n);
LL ans = ;
for (int i = ; i < n; ++i) {
scanf("%d", &k);
ans += p[k];
}
printf("Case %d: %lld Xukha\n", cas, ans);
}
return ;
}

最新文章

  1. Android 底部弹出Dialog(横向满屏)
  2. C# 中的委托和事件
  3. configparser模块
  4. Cookies简介和使用
  5. Maven学习——安装与修改Maven的本地仓库路径
  6. 转】windows下使用批处理脚本实现多个版本的JDK切换
  7. 手机web开发
  8. placeholder 兼容 IE
  9. 启动APEX
  10. Hadoop化繁为简-从安装Linux到搭建集群环境
  11. java代码调用第三方接口
  12. vue-cli卸载旧版,再重新安装后还显示的是旧的版本
  13. 开关Windows休眠功能
  14. 范围for循环(c++11)
  15. 解决Python3 pip list 红色DEPRECATION
  16. 【NLP】simhash判断文档相似度
  17. MFC调试时可以,使用生产的exe时,显示未响应解决方案
  18. 悲催的IE6 七宗罪大吐槽(带解决方法)第二部分
  19. MySQL的使用笔记
  20. 20155214曾士轩 2016-2017-2 《Java程序设计》第1周学习总结

热门文章

  1. 你会用shuffle打乱列表吗?
  2. InputStream、OutputStream、String的相互转换(转)
  3. padding-top、margin-top和top的区别
  4. qemu 调试(二)
  5. AndroidContentProvider ContentResolver和ContentObserver的使用
  6. asp.net 向后台提交 html 代码段 包括 &lt;&gt; 标签
  7. phoenegap3.5 采坑
  8. android UI-EditText的长度监听慎用TextWatcher
  9. UITextField 光标的位置设置获取
  10. 从 NSURLConnection 到 NSURLSession