題目:印出1到N之間所有整數之階乘 (factorial),N£50。
說明:
本題要求每一個N! 之值必須完全精確,不可以有誤差。換言之,資料儲存時,不可以使用浮點數 (floating point),只能使用整數(integer)。
由於資料型態為整數 (integer),受到位元個數之限制 (可能為16 bits、32 bits或64bits),存放的最大數值受到限制。隨著N變大,N! 之值將無法放進單一整數變數中。例如32 bits整數,在無正負號的情形下,其最大值為232-1=4,294,967,295N>=13,而13!= 6,227,020,800以無法存入。故本題需使用整數的陣列 (array) 來存放資料,並模擬整數乘法與加法運算。例如,欲存放3264,以4個元素的陣列A來存放,結果如下: