標籤:content return pac span logs 限制 name size str
1017. A除以B (20)時間限制100 ms記憶體限制65536 kB代碼長度限制8000 B判題程式Standard作者CHEN, Yue
本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。
輸入格式:
輸入在1行中依次給出A和B,中間以1空格分隔。
輸出格式:
在1行中依次輸出Q和R,中間以1空格分隔。
輸入範例:
123456789050987654321 7
輸出範例:
17636684150141093474 3
注意點:A只有一位元的時候,A的第一位小於B的時候
1 // 1017.cpp : 定義控制台應用程式的進入點。 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 #include<string> 7 #include<typeinfo> 8 9 using namespace std;10 11 int main()12 {13 string A,Q;14 int B, R;15 16 cin >> A >> B;17 18 int size = A.size();19 20 if (size == 1)21 cout << (A[0] - 48) / B << " " << (A[0] - 48) % B << endl;22 else23 {24 if ((A[0]) < B+48)25 {26 Q.push_back((((A[0] - 48) * 10 + A[1] - 48) / B)+48);27 R = ((A[0] - 48) * 10 + A[1] - 48) % B;28 }29 else30 {31 Q.push_back((A[0] - 48) / B+48);32 R = (A[0] - 48) % B;33 34 Q.push_back(((R * 10 + A[1] - 48) / B)+48);35 R = (R * 10 + A[1] - 48) % B;36 }37 38 for (int i = 2; i < size; ++i)39 {40 Q.push_back(((R * 10 + A[i] - 48) / B) + 48);41 R = (R * 10 + A[i] - 48) % B;42 }43 44 cout << Q << " " << R << endl;45 }46 47 return 0;48 }
PAT 乙級 1017 A除以B (20) C++版