乙級(Basic Level) 1007
阿新 • • 發佈:2018-07-30
空格 情況下 [1] 描述 tro pan cin clu 輸入
題目描述
本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和余數R,使得A = B * Q + R成立。
輸入描述:
輸入在1行中依次給出A和B,中間以1空格分隔。
輸出描述:
在1行中依次輸出Q和R,中間以1空格分隔。
輸入例子:
123456789050987654321 7
輸出例子:
17636684150141093474 3
解法:
Python:
a = input().split() a = [int(i) for i in a] print(a[0]//a[1],a[0]%a[1])
C++:
//思路:把除法轉換為求商過程的逆轉,比如 100/2 等價於 1/2 商為0,余數為1,商為0的情況下不能輸輸出, 然後余數和下一位即0
// 組合為1*10+0=10,就變成10/2 商為5余數為0,此時輸出商數。然後0和下一位0組合為0*10+0=0 0/2余數為0,此時運算完畢
#include<iostream> #include<string> using namespace std; int main(){ string str,ans; int i,j,n,d = 0; cin >> str >> n; for(i = 0; i <= str.size()-1; i++){ int current = d * 10 + (str[i]-‘0‘); ans += (current / n+‘0‘); d = current % n; } j = 0; for(i=0;i<ans.size();i++)if(ans[i] != ‘0‘ || j){ j = 1; cout<<ans[i]; } cout << " " << d; return 0; }
乙級(Basic Level) 1007