天天看點

PAT乙級 1017 A除以B (大整數運算)

題目内容

本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。

輸入格式:

輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。

輸出格式:

在一行中依次輸出 Q 和 R,中間以 1 空格分隔。

輸入樣例:

123456789050987654321 7

輸出樣例:

17636684150141093474 3

解題思路

(1)數字為超大整數,無法使用int型存儲,隻能使用字元串進行存儲

(2)依據除法規則,從第一位開始除,設定兩個變量分别表示上一位的餘數和餘數與該位數字之和,

(3)沒必要計算得到全部結果再輸出,可以邊處理邊輸出

程式源碼

程式參考的柳神的思路,不再放代碼。