UVa 10323 - Factorial! You Must be Kidding!!!
递归函数
对于负的阶乘也给了定义,负数且为单数则为正无穷,负数且为双数则为负无穷。
#include <iostream>
using namespace std;
long long func(int n);
int main()
{
int n;
while(cin>>n){
if(func(n) > 6227020800 ||(n<0&&(-n)%2==1))
cout<<"Overflow!";
else if(func(n) < 10000||(n<0&&(-n)%2==0))
cout<<"Underflow!";
else
cout<<func(n)<<endl;
}
return 0;
}
long long func(int n){
int i = n;
if(i != 1 && i>1)
return i*func(i-1);
if(i == 1 || i == 0)
return 1;
if(i < 0)
return -1;
}
however time limit exceeded
所以只能这样
可以通过的代码
所以,什么是离线计算呢