Advertisement
Kaidul

UVA - 10680

Dec 19th, 2012
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.06 KB | None | 0 0
  1. #include <algorithm>
  2. #include <bitset>
  3. #include <cctype>
  4. #include <cmath>
  5. #include <complex>
  6. #include <cstdio>
  7. #include <cstdlib>
  8. #include <cstring>
  9. #include <ctime>
  10. #include <deque>
  11. #include <fstream>
  12. #include <iostream>
  13. #include <list>
  14. #include <map>
  15. #include <memory>
  16. #include <queue>
  17. #include <set>
  18. #include <sstream>
  19. #include <stack>
  20. #include <string>
  21. #include <utility>
  22. #include <vector>
  23. #include <iomanip>
  24.  
  25. using namespace std;
  26.  
  27. #define REP(i,n) for(__typeof(n) i=0; i<(n); i++)
  28. #define FOR(i,a,b) for(__typeof(b) i=(a); i<=(b); i++)
  29. #define RFOR(i,a,b) for(__typeof(b) i=(a); i>(b); i--)
  30. #define RESET(t,value) memset((t), value, sizeof(t))
  31. typedef long long int64;
  32. typedef long double d64;
  33. #define READ(f) freopen(f, "r", stdin)
  34. #define WRITE(f) freopen(f, "w", stdout)
  35. #define PI acos(-1.0)
  36. #define INF (1<<30)
  37. #define eps 1e-8
  38. #define pb push_back
  39. #define ppb pop_back
  40. #define pii pair<double,double>
  41. #define G struct node
  42.  
  43. template< class T > T gcd(T a, T b) { return (b != 0 ? gcd<T>(b, a%b) : a); }
  44. template< class T > T lcm(T a, T b) { return (a / gcd<T>(a, b) * b); }
  45. template< class T > void setmax(T &a, T b) { if(a < b) a = b; }
  46. template< class T > void setmin(T &a, T b) { if(b < a) a = b; }
  47.  
  48. int GCD(int a, int b){return (b == 0 ? a : GCD(b, a % b));}
  49. int LCM(int a, int b){ return (a * (b/ GCD(a, b))); }
  50.  
  51. vector < int > pset;
  52. void initSet(int _size){ pset.resize(_size); FOR(i,0,_size-1) pset[i]=i;}
  53. int findSet(int i){return (pset[i]== i)?i: (pset[i] = findSet(pset[i]));}
  54. void unionSet(int i,int j){ pset[findSet(i)]=findSet(j);}
  55. bool isSameSet(int i,int j){ return findSet(i)==findSet(j);}
  56.  
  57. int main()
  58. {
  59.     //READ("input.txt");
  60.     long long n;
  61.     while(cin>>n)
  62.     {
  63.         if(n==0) return 0;
  64.         long long a = 1;
  65.         FOR(i,2,n)
  66.           a = LCM(i,a);
  67.           char str[10];
  68.           sprintf(str, "%lld", a);
  69.           RFOR(i, strlen(str)-1, -1){
  70.               if(str[i] != '0' ) {
  71.                   cout<<str[i]<<endl;
  72.                   break;
  73.               }
  74.           }
  75.     }
  76.     return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement