2011年6月21日 星期二

d114: 好累的小玫

內容 :
    小玫,小熊跟小羊正在玩闖關遊戲,這關要摧毀101大樓,前提就是要算出一個很長很長的數,也就是過關密碼。
其中小熊經由秘密管道得知,這個數就是 1! * 2! * 3! * ......... * 100!,小玫負責算出這個數,可是因為這個數實在太長了,因此小玫算的好累好累。

    現在小羊想要請你幫忙,你可以輸出 "我不想幫忙" (不含引號) 接著得到WA ,或是正確輸出這關的過關密碼,得到AC。
(因為台北101很高很高,所以你輸出的解答也必須每輸出一個數字後換一行。)
PS.姓名純屬杜撰,如有雷同純屬巧合。
(測資已更正...不好意思XDD)

輸入說明 :
    本題沒有輸入。

輸出說明 :
    請輸出一個很像答案的東西。

範例輸入 :
    輸入範例要很有智慧的國王才能看到。

範例輸出 :
    只可意會不可言傳。

程式碼 :
#include <stdio.h>
#include <string.h>

int main() 
{
    int i,j,k,point=1,carry;
    int a[99999]={0};
    
    a[0] = 1;
    for(i=2;i<101;i++)
    {
        for(k=101-i;k>0;k--)
        {
            carry = 0;
            for(j=0;j<point;j++)
            {
                a[j] = a[j]*i + carry;
                carry = a[j] / 10;
                a[j] = a[j] % 10;
            }
            a[j] = a[j] + carry;
            while(a[j] > 9)
            {
                carry = a[j] / 10;
                a[j] = a[j] % 10;
                j++;
                a[j] = carry;
            }
            point = j + (carry>0);
        }
    }
    for(i=point-1;i>-1;i--)
        printf("%d\n",a[i]);
    
    return 0;
}



http://zerojudge.tw/ShowProblem?problemid=d114

沒有留言:

張貼留言