題目:http://uva.onlinejudge.org/external/103/10323.html

 

廢話不多說

  1. /********************
  2. Author: Bruce Chen
  3. Time: 0.016
  4. Rank: 478
  5. *********************/
  6.  
  7. #include<stdio.h>
  8.  
  9. int main()
  10. {
  11.     long long int n, ans, fac;
  12.     int i, over;
  13.  
  14.     while(~scanf("%lld",&n))
  15.     {
  16.         if(n<0)
  17.         {
  18.             n = 0 - n;
  19.             if(n % 2 == 0)
  20.             {
  21.                 puts("Underflow!");
  22.             }
  23.             else
  24.             {
  25.                 puts("Overflow!");
  26.             }
  27.         }
  28.  
  29.         else
  30.         {
  31.             fac = 1;
  32.             over = 0;
  33.             for(i = 1 ; i <= n ; i++)
  34.             {
  35.                 fac = fac * i;
  36.                 if(fac > 6227020800) //一超過此數就不要再算下去,直接輸出訊息
  37.                 {
  38.                     puts("Overflow!");
  39.                     over++;
  40.                     break;
  41.                 }
  42.             }
  43.  
  44.             if(over == 0)
  45.             {
  46.                 if(fac < 10000)
  47.                 {
  48.                     puts("Underflow!");
  49.                 }
  50.                 else
  51.                 {
  52.                     printf("%lld\n",fac);
  53.                 }
  54.             }
  55.         }
  56.     }
  57.     return 0;
  58. }

 

這題我一開始是WA

想破頭都不知道為啥

之後才發現原來input是負數時有兩種情況

如果是-1,-3,-5等奇數時就是Overflow

如果是-2,-4,-6等偶數時就是Underflow

我一開始以為負數都是Underflow= =

媽的雞巴毛欺負我數學爛嗎ˋ皿ˊ

就如題目名稱一樣

You must be FUCKING kidding me!!

 

然後剛剛發現pastebin可以內嵌程式碼了= =

既然這樣以後就不用用google的內嵌工具了

討厭,不早說><

 

arrow
arrow
    文章標籤
    ACM UVA 程式 數學
    全站熱搜

    Tube 發表在 痞客邦 留言(0) 人氣()