加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

A - Bi-shoe and Phi-shoe

发布时间:2020-12-14 04:47:42 所属栏目:大数据 来源:网络整理
导读:每一个数字的欧拉函数要大于或等于该数字。求,最小的欧拉函数的下标和的大

每一个数字的欧拉函数要大于或等于该数字。求,最小的欧拉函数的下标和的大小。

答案要用longlong存

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <string>
 6 #include <map>
 7 #include <cmath>
 8 #include <vector>
 9 
10 #define Faster ios::sync_with_stdio(false),cin.tie(0)
11 #define Read freopen("in.txt","r",stdin),freopen("out.txt","w",stdout)
12 #define Close fclose(stdin),fclose(stdout)
13 const int maxn = 1e6 + 5;
14 using namespace std;
15 const int MOD = 1e9+7;
16 typedef long long ll;
17 
18 int a[maxn];
19 ll euler[maxn];
20 bool isPrime[maxn];
21 ll mp[maxn];
22 
23 void Init(){     
24      euler[1]=1;    
25      for(int i=2;i<maxn;i++)    
26        euler[i]=i;    
27      for(int i=2;i<maxn;i++)    
28         if(euler[i]==i)    
29            for(int j=i;j<maxn;j+=i)    
30               //euler[j]=euler[j]/i*(i-1);//先进行除法是为了防止中间数据的溢出     
31               euler[j] -= euler[j] / i;
32 }
33 
34 int main(){
35     Faster;
36     Init();
37     int t;
38     cin >> t;
39     int cnt = 0;
40     while(t--){
41         cnt++;
42         int n;
43         cin >> n;
44         ll ans = 0;
45         for(int i = 0;i < n;i++){
46             // int x;
47             cin >> a[i];
48         }
49         sort(a,a+n);
50         int j = 2;
51         for(int i = 0;i < n;i++){
52             for(;j < maxn;j++){
53                 if(euler[j] >= a[i]){
54                     ans += j;
55                     break;
56                 }
57             }
58         }
59         cout << "Case " << cnt << ": " << ans << " Xukha" << endl; 
60     }
61     return 0;
62 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读