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
四、題目分析
本題是大數除法運算,只需要模擬出發的程序,將大數存為字串,每一位與除數相除,商輸出,余數*10加到下一位,需要注意的是,首位為零不能輸出,如果商為0,則需要輸出,
五、代碼
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
int n;
cin >> s >> n;
int flag = 0;
int r = 0;
for (int i = 0; i < s.length(); i++)
{
int num = s[i] - '0' + r * 10;
int q = num / n;
r = num % n;
if (flag || q || s.length() == 1)
cout << q;
flag = 1;
}
cout << ' ' << r;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/261418.html
標籤:其他
