乙個正整數如果等於組成它的各位數字的階乘之和,則該正整數稱為階乘和數。例如正整數145,1!+4!+5!等於145,因此145就是乙個階乘和數。輸入乙個正整數,計算它的各位數字的階乘之和,並判斷它是否是乙個階乘和數。注意:輸入的正整數,以及組成它的各位數字的階乘之和都不會超過int型別的表示範圍,並且輸入的正整數的最高位不為0。
定義乙個計算階乘的函式,將輸入的數按位分開求階乘,最後求和與原數比較
x =
input
("正整數"
)a =
[int
(n)for n in x.split()]
defjc
(e):
int(e)
for i in
range(1
,e):
e = e*i
return e
b =0
for g in a:
b += jc(g)
if b==
int(x)
:print
("yes"
)else
:print
("no"
)
#include
using namespace std;
intjc
(int n)
intmain()
else}if
(sum==b)
cout << b;
}return0;
}
C 解題報告 求階乘之和(定義函式)
基礎班 函式 遞推 遞迴 函式第1題。題目描述 用定義函式的方式,求s 1 2 3 4 5 6 n!輸入格式 輸入n。輸出格式 輸出s。輸入樣例 5 輸出樣例 153題目思路 求n個數的階乘之和,要先求出這n個數的階乘,再將其相加起來。發現次數需要重複用到計算階乘這一過程,所以定義乙個計算階乘函式 ...
P1009 階乘之和(python)解題報告
筆者的第一語言為c 初學python,如有可改進之處,歡迎討論 不過 都已經過測評且ac check xy 引言 放暑假了,終於有空餘時間自學一下python 雖然物競 數競和文化課幾乎擠扁了我的空餘時間 就從我以前刷過的c 的題開始吧 以前為oi刷題的時候,並沒有養成經常寫解題報告的習慣 經過一番...
演算法 階乘之和 資料溢位以及時間測試
階乘之和 例題 輸入n,計算s 1 2 3 n 的未6位 不含前導0 n 10 6,n!表示前n個正整數之積。樣例輸入 樣例輸出 分析 這個任務看似不難,實際卻有陷阱。先看如下 1 有缺陷 abc include includeint main printf ld n s 1000000 retur...