lightoj1370——Bi-shoe and Phi-shoe(欧拉函数应用)
Description Score of a bamboo = Φ (bamboo’s length) (Xzhilans are really fond of number theory). For your information,Φ (n) = numbers less than n which are relatively prime (having no common divisor other than 1) to n. So,score of a bamboo of length 9 is 6 as 1,2,4,5,7,8 are relatively prime to 9. The assistant Bi-shoe has to buy one bamboo for each student. As a twist,each pole-vault student of Phi-shoe has a lucky number. Bi-shoe wants to buy bamboos such that each of them gets a bamboo with a score greater than or equal to his/her lucky number. Bi-shoe wants to minimize the total amount of money spent for buying the bamboos. One unit of bamboo costs 1 Xukha. Help him. Input Each case starts with a line containing an integer n (1 ≤ n ≤ 10000) denoting the number of students of Phi-shoe. The next line contains n space separated integers denoting the lucky numbers for the students. Each lucky number will lie in the range [1,106]. Output Sample Input 每个人有一个幸运值n,求欧拉函数Φ(x)>=n的最小的那个x。 #include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <cstdio>
#include <map>
#include <cmath>
#include <algorithm>
#define INF 0x3f3f3f3f
#define MAXN 1000005
#define mod 1000000007
using namespace std;
int p[MAXN];
void Init()
{
for(int i=2; i<MAXN; ++i)
{
if(!p[i])
{
for(int j=i+i; j<=MAXN; j+=i)
p[j]=1;
}
}
}
int main()
{
Init();
int t,cnt=1,n,m;
scanf("%d",&t);
while(t--)
{
long long ans=0;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
for(int i=m+1;; ++i)
if(p[i]==0)
{
ans+=i;
break;
}
}
printf("Case %d: %lld Xukhan",cnt++,ans);
}
return 0;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |