LOJ 1370 Bi-shoe and Phi-shoe(欧拉函数的简单应用)
2024-08-25 16:40:05
题目链接: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 ;
}
最新文章
- Android 底部弹出Dialog(横向满屏)
- C# 中的委托和事件
- configparser模块
- Cookies简介和使用
- Maven学习——安装与修改Maven的本地仓库路径
- 转】windows下使用批处理脚本实现多个版本的JDK切换
- 手机web开发
- placeholder 兼容 IE
- 启动APEX
- Hadoop化繁为简-从安装Linux到搭建集群环境
- java代码调用第三方接口
- vue-cli卸载旧版,再重新安装后还显示的是旧的版本
- 开关Windows休眠功能
- 范围for循环(c++11)
- 解决Python3 pip list 红色DEPRECATION
- 【NLP】simhash判断文档相似度
- MFC调试时可以,使用生产的exe时,显示未响应解决方案
- 悲催的IE6 七宗罪大吐槽(带解决方法)第二部分
- MySQL的使用笔记
- 20155214曾士轩 2016-2017-2 《Java程序设计》第1周学习总结
热门文章
- 你会用shuffle打乱列表吗?
- InputStream、OutputStream、String的相互转换(转)
- padding-top、margin-top和top的区别
- qemu 调试(二)
- AndroidContentProvider ContentResolver和ContentObserver的使用
- asp.net 向后台提交 html 代码段 包括 <;>; 标签
- phoenegap3.5 采坑
- android UI-EditText的长度监听慎用TextWatcher
- UITextField 光标的位置设置获取
- 从 NSURLConnection 到 NSURLSession