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; } (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |