Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<bits/stdc++.h>
- using namespace std;
- #define M 1000000
- bool mark[M];
- vector<int>prime;
- void sieve()
- {
- int i,j;
- prime.push_back(2);
- for(i=3;i*i<M;i+=2)
- {
- if(mark[i]==false)
- {
- for(j=i*i;j<M;j+=2*i)
- mark[j]=true;
- }
- }
- for(i=3;i<M;i+=2)
- {
- if(mark[i]==false)
- prime.push_back(i);
- }
- }
- int divisor(int n)
- {
- int i,val,count,sum;
- val=sqrt(n)+1;
- sum=1;
- for(i=0;prime[i]<val;i++)
- {
- if(n%prime[i]==0)
- {
- count=0;
- while(n%prime[i]==0)
- {
- n/=prime[i];
- count++;
- }
- sum*=(count+1);
- }
- }
- if(n>1)
- sum*=2;
- return sum;
- }
- int main()
- {
- sieve();
- int a,b,i,mx=1;
- scanf("%d %d",&a,&b);
- for(i=a;i<=b;i++)
- {
- int k=divisor(i);
- if(k>mx)
- {
- mx=i;
- }
- }
- cout<<mx<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment