hiho week 96 register

Ended

Participants:673

Verdict:Accepted
Score:100 / 100
Submitted:2016-05-06 13:20:24

Lang:GCC

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
26
27
28
29
30
31
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define maxn 5000001
int euler[maxn];
void euler_init(){
    int i,j;
    euler[1]=1;
    for(i=2;i<maxn;i++)
      euler[i]=i;
    for(i=2;i<maxn;i++)
       if(euler[i]==i)
          for(j=i;j<maxn;j+=i)
            euler[j]=euler[j]/i*(i-1);
}
int main()
{
    euler_init();
    long long x,y,k,n,t;
    while(~scanf("%lld%lld",&x,&y)){
        k=x;
        n=euler[x];
        for(t=x;t<=y;t++){
            if(n>euler[t]){
                n=euler[t];
                k=t;
            }
        }
        printf("%lld\n",k);
    }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX