題目:http://uva.onlinejudge.org/external/103/10323.html
廢話不多說
-
/********************
-
Author: Bruce Chen
-
Time: 0.016
-
Rank: 478
-
*********************/
-
-
#include<stdio.h>
-
-
int main()
-
{
-
long long int n, ans, fac;
-
int i, over;
-
-
while(~scanf("%lld",&n))
-
{
-
if(n<0)
-
{
-
n = 0 - n;
-
if(n % 2 == 0)
-
{
-
puts("Underflow!");
-
}
-
else
-
{
-
puts("Overflow!");
-
}
-
}
-
-
else
-
{
-
fac = 1;
-
over = 0;
-
for(i = 1 ; i <= n ; i++)
-
{
-
fac = fac * i;
-
if(fac > 6227020800) //一超過此數就不要再算下去,直接輸出訊息
-
{
-
puts("Overflow!");
-
over++;
-
break;
-
}
-
}
-
-
if(over == 0)
-
{
-
if(fac < 10000)
-
{
-
puts("Underflow!");
-
}
-
else
-
{
-
printf("%lld\n",fac);
-
}
-
}
-
}
-
}
-
return 0;
-
}
這題我一開始是WA
想破頭都不知道為啥
之後才發現原來input是負數時有兩種情況
如果是-1,-3,-5等奇數時就是Overflow
如果是-2,-4,-6等偶數時就是Underflow
我一開始以為負數都是Underflow= =
媽的雞巴毛欺負我數學爛嗎ˋ皿ˊ
就如題目名稱一樣
You must be FUCKING kidding me!!
然後剛剛發現pastebin可以內嵌程式碼了= =
既然這樣以後就不用用google的內嵌工具了
討厭,不早說><
文章標籤
全站熱搜