階乘的數學表示式是 N!, 代表從 1 乘到 N 的結果, 如下:
1! = 1
N! = N * (N-1)!
階乘的成長速度相當驚人, 5! = 120, 10! = 3,628,800, 而表示階乘的其中一種方法是去紀錄每一個質因數出現的頻率。例如 825
這個值, 可以用數字序列 (0 1 2 0 1), 來表示 0 個 2, 1 個 3, 2 個 5, 0 個 7, 1 個 11。
所以數字序列中的每個元素是代表連續出現的質因數, 而上面的數值, 代表該質因數出現的頻率。
寫一個程式讀入一個數字 N (2<=N<=100), 算出階乘結果,以之前的方式來表示這個階乘。
Input
輸入有許多筆測試資料, 一筆一列, 每一列包含一個數字 N, 當 N=0 代表輸入結束, 這一列不該被處理。
Output
每一筆測試資料, 需要輸出一組區塊結果, 這組區塊, 先輸出 N! = , 接下來以上述的方式,
依序輸出該質因數在這個階乘中出現的頻率次數為何(長度3,靠右對齊), 請注意, 每一列最多只能印出 15 個質因數, 多餘的得換一列再印出。
詳細
輸出格式請參考 Sample Output。
Sample Input | Sample Output |
5 53 0 |
5! = 3 1 1 53! = 49 23 12 8 4 4 3 2 2 1 1 1 1 1 1 1 |
Translated by Tino