筆者的第一語言為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的十位,依此類推。...