Bi-shoe and Phi-shoe

Descriptions:

给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和。

Input

输入以整数T(≤100)开始,表示测试用例的数量。

每个案例都以一行包含整数n(1≤n≤10000)开始,表示有n个数。下一行包含n个空格分隔的整数,表示数字。每个数字都在[1,10^6]范围内。

Output

求找到的所有数的最小和

Sample Input

3

5

1 2 3 4 5

6

10 11 12 13 14 15

2

1 1

Sample Output

Case 1: 22 Xukha

Case 2: 88 Xukha

Case 3: 4 Xukha

题目链接

https://vjudge.net/problem/LightOJ-1370

先欧拉函数打表,再一一对照着找表即可

AC代码

#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <sstream>
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);
#define Mod 1000000007
#define eps 1e-6
#define ll long long
#define INF 0x3f3f3f3f
#define MEM(x,y) memset(x,y,sizeof(x))
#define Maxn 1100000
using namespace std;
int T,n;
int phi[Maxn+];//存欧拉函数
bool isPrime[Maxn+];//存素数
int a[Maxn];
void Eular()//求欧拉函数
{
for(int i=;i<=Maxn;i++) phi[i]=i;
memset(isPrime,true,sizeof(isPrime));
isPrime[]=isPrime[]=false;
phi[]=;
for(int i=;i<=Maxn;i++)
{
if(isPrime[i])
{
for(int j=i;j<=Maxn;j+=i)
{
isPrime[j]=false;
phi[j] -= phi[j]/i;
}
}
}
}
int main()
{
int Case=;
Eular();//打表
cin>>T;
while(T--)
{
MEM(a,);
cin>>n;
for(int i=;i<n;i++)
cin>>a[i];
ll sum=;
sort(a,a+n);
int pos=;
for(int i=;i<n;i++)
{
for(int j=pos;j<Maxn;j++)
{
if(phi[j]>=a[i])
{
sum+=j;
pos=j;
break;
}
}
}
printf("Case %d: %lld Xukha\n",++Case,sum);
}
}

最新文章

  1. 记从安装centos系统在到使用mono3.2部署MVC过程遇到的问题
  2. python Tornado(招聘的一个比较经常问到的知识)
  3. Android ViewPager实现选项卡切换
  4. 拒绝了对对象 &#39;**&#39; (数据库 &#39;db&#39;,架构 &#39;dbo&#39;)的 SELECT 权限
  5. Delphi 注册文件类型 设置文件图标
  6. redis错误汇总
  7. datatables配置及数据传输
  8. 走FILTER效率高的2种情况
  9. C#线程池ThreadPool的理解
  10. LightOJ 1234 Harmonic Number 调和级数部分和
  11. Java语言的学习
  12. TCP/IP协议之ping和traceroute
  13. maven配置文件详解
  14. 记一次erlang语言bug导致rabbitmq的队列没有消费者的问题
  15. 服务器安装ubuntu 14.04 server,开机启动屏幕不停滚动错误WRITE SAME failed. Manually zeroing
  16. 关于spark的mllib学习总结(Java版)
  17. Visual Status各个版本官网下载
  18. Phaser3游戏三角学应用--一只跟随屏幕点击位置游动的鱼
  19. Linux - Windows10连接linux服务器
  20. (CSharp)克隆控件事件

热门文章

  1. QT 序列化/串行化/对象持久化
  2. 使用 Visual Studio 开发并调试 Mail Add-in (mail app for Outlook)
  3. Qt使用MinGW编译,如何忽略警告
  4. QT中的SOCKET编程
  5. Spring之Bean的装配
  6. Storm 学习之路(三)—— Storm单机版本环境搭建
  7. Java 泛型学习总结
  8. 搭建minima主题的github博客网站
  9. HDU 6058:Kanade&#39;s sum(思维)
  10. redis 命令的调用过程