1017 A除以B
本题要求计算 /,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
1 #include<iostream> 2 #include<string> 3 4 using namespace std; 5 6 int main() { 7 string s; //存A 8 int b, tmp = 0, t = 0; 9 cin >> s >> b; 10 t = (s[0] - '0') / b; 11 //商不为0 并且 长度大于1 或者 长度等于1 输出第一个字符 12 //不满足条件的说明,第一个不用上位,商为0,但是因为在最前面,所以不用输出 13 if ((t != 0 && s.length() > 1) || s.length() == 1) { 14 cout << t; 15 } 16 //用tmp保存余数 17 tmp = (s[0] - '0') % b; 18 19 for (unsigned int i = 1; i < s.length(); i++) { 20 t = (tmp * 10 + s[i] - '0') / b; //第一个数字已经保存在tmp中 从i=1也就是第二个开始 21 cout << t; //输出商 22 tmp = (tmp * 10 + s[i] - '0') % b; //保存余数 23 } 24 cout << ' ' << tmp; 25 return 0; 26 27 }
本文作者:oaoa
本文链接:https://www.cnblogs.com/oaoa/p/10738417.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步