1017 A除以B(20 分)
本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和余數 R,使得 A=B×Q+R 成立。
輸入格式:
輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。
輸出格式:
在一行中依次輸出 Q 和 R,中間以 1 空格分隔。
輸入樣例:
123456789050987654321 7
輸出樣例:
17636684150141093474 3
模擬手動除法過程
C++代碼如下:
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 int main() { 6 string s; 7 int d,div,mod; 8 cin >> s>>d; 9 int len = s.length(); 10 div = (s[0] - '0') / d; 11 mod = (s[0] - '0') % d; 12 if ( div != 0 || len == 1) 13 cout << div; 14 for (int i = 1; i < len; i++) { 15 div = (mod * 10 + (s[i] - '0')) / d; 16 cout << div; 17 mod = (mod * 10 + (s[i] - '0')) % d; 18 } 19 cout << ' ' << mod << endl; 20 return 0; 21 }