// UVa 10323 - Factorial! You Must be Kidding!!!
#include <iostream>
using namespace std;
#define datatype signed long long int
#define Max 6227020800
#define Min 10000
int main() {
datatype f[101];
f[0] = 1;
datatype n = 0;
while (f[n] <= Max) {
n++;
f[n] = n * f[n - 1];
}
datatype i;
while (cin >> i) {
if (i < 0) {
bool even = (i % 2 == 0);
cout << (even ? "Underflow!" : "Overflow!") << endl;
} else if (i >= n)
cout << "Overflow!" << endl;
else if (f[i] < Min)
cout << "Underflow!" << endl;
else
cout << f[i] << endl;
}
return 0;
}
Thursday, July 9, 2015
UVa 10323 - Factorial! You Must be Kidding!!!
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment