Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define pb push_back
- #define mx 1000006
- typedef long long int ll;
- vector<int>prime;
- bool vis[mx];
- void sieve()
- {
- for(int i=3; i*i<=mx; i+=2)
- {
- if(vis[i]==0)
- {
- for(int j = i*i; j<mx; j+=2*i)
- vis[j]=1;
- }
- }
- prime.pb(2);
- for(int i=3; i<mx; i+=2)
- if(vis[i]==0)prime.pb(i);
- }
- int main()
- {
- sieve();
- int n;
- while(cin>>n)
- {
- if(n==0)return 0;
- int arr[n+5]={0};
- for(int i=0; prime[i]<=n; i++)
- {
- int x = prime[i];
- while(1)
- {
- if(x<=n)
- {
- arr[prime[i]]++;
- }
- else break;
- x*=prime[i];
- }
- }
- int ans = 1;
- for(int i=2; i<=n; i++)
- {
- if(arr[i])
- {
- int x = arr[i];
- while(x--)
- {
- ans*=i;
- }
- }
- }
- while(1)
- {
- if(ans%10!=0)
- {
- cout<<ans%10<<endl;
- break;
- }
- ans/=10;
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment