Python C 解題 階乘和數

2021-09-13 17:44:15 字數 777 閱讀 3490

乙個正整數如果等於組成它的各位數字的階乘之和,則該正整數稱為階乘和數。例如正整數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...