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