hiho week 96 register

Ended

Participants:673

Verdict:Accepted
Score:100 / 100
Submitted:2016-04-30 20:20:47

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <cstdio>
using namespace std;
#define Max 5000005  
int euler[Max];  
void Init(){   
     euler[1]=1;  
     for(int i=2;i<Max;i++)  
       euler[i]=i;  
     for(int i=2;i<Max;i++)  
        if(euler[i]==i)  
           for(int j=i;j<Max;j+=i)  
              euler[j]=euler[j]/i*(i-1);
} 
int main(){
    int l, r;
    cin >> l >> r;
    Init();
    int ans = l;
    for (int i = l+1; i <= r; i++){
        if (euler[i] < euler[ans])  ans = i;
    }
    cout << ans << endl;
    return 0;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX