#41705: C++詳解-大數運算


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [24.147.249.5]
最後登入時間 :
2024-10-28 09:54:40
f360. Shady的複製品 -- 第三屆簡單的小競賽 | From: [24.147.249.5] | 發表日期 : 2024-08-18 22:03

使用字串的方式來收資料,並且宣告一個函式用來減1、一個字串 ans 預設為 “”。

在函式中,需要兩個參數,分別為目前的位置 position 和是否需要減一的布林值 minus。如果 position == -1 就 return 函式。如果目前位置要 -1,則判斷目前位置的字元是否為 0,如果是 0 就要呼叫函式並且將 position-1 然後 minus 要是 true,還要將 9 += 到 ans 中,否則就將字元換成數字之後 -1 += 到 ans 中。如果 minus 為 false,則將目前位置的字元 += 到 ans 中並且呼叫函式 position-1 跟 false。

在主程式的時候要呼叫函式並且要用字串的長度-1 跟 true。

輸出時倒著輸出 ans,並且要在迴圈外面宣告一個布林值 first,因為要去掉前面的 0,如果目前字元是 0 且 first == true,則直接 continue,否則就將 first 設為 false 且輸出目前字元。

 

範例程式碼

 
ZeroJudge Forum