P1009 階乘之和(python)解題報告

2022-08-10 17:12:14 字數 835 閱讀 2105

筆者的第一語言為c++,初學python,**如有可改進之處,歡迎討論(不過**都已經過測評且ac) -----------check_xy

引言

放暑假了,終於有空餘時間自學一下python(雖然物競、數競和文化課幾乎擠扁了我的空餘時間)

就從我以前刷過的c++的題開始吧

以前為oi刷題的時候,並沒有養成經常寫解題報告的習慣

經過一番考慮,決定記錄我的python解題,此隨筆為第二彈

原題鏈結 (洛谷p1009)

ⅰ遞推(python無視高精標籤)

#

遞推f = [0 for i in range(55)]

x =input()

ans =0

f[0] = 1

for i in range(1,int(x)+1):

f[i] = f[i-1]*i

ans +=f[i]

print(ans)

ⅱ記搜

#

記憶化搜尋

f = [0 for i in range(55)]

defjc(n):

global

f

iff[n]:

return

f[n]

if n==1:

return 1f[n] = n * jc(n - 1)

return

f[n]

x =input()

ans =0

for i in range(1,int(x)+1):

ans +=jc(i)

print(ans)

P1009 階乘之和

提交該題 討論 題解記錄 用高精度計算出s 1!2!3!n!n 50 其中 表示階乘,例如 5!5 4 3 2 1。輸入格式 乙個正整數n。輸出格式 乙個正整數s,表示計算結果。輸入樣例 1 3 輸出樣例 1 9 include include using namespace std int a 1...

題解 P1009 階乘之和

p1009 階乘之和 qaq,剛開始看完題直接立刻按照題目階乘相加寫出了程式,資料使用int型別處理,4個測試點只通過兩個。感覺應該是int型資料不夠大,存不下結果,然後換成了long long測試一遍還是不行,又換成了unsigned long long,還是不夠大,這個不行 include in...

P1009 階乘之和(大數計算)

allsight c語言 高精度加法 問題描述 輸入兩個整數a和b,輸出這兩個整數的和。a和b都不超過100位。演算法描述 由於a和b都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使用陣列來處理。定義乙個陣列a,a 0 用於儲存a的個位,a 1 用於儲存a的十位,依此類推。...