一千题,No.0031(A除以B)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。

输入格式:

输入在一行中依次给出 A 和 B,中间以 1 空格分隔。

输出格式:

在一行中依次输出 Q 和 R,中间以 1 空格分隔。

输入样例:

复制代码
123456789050987654321 7

输出样例:

复制代码
17636684150141093474 3

解题思路:

模拟除法的步骤即可

需要注意的是:需要删除先输出的0,否则可能会输出041234 2这样不符合正常数字的结果,还需要在被除数小于除数的时候输出0,这就需要判断了

c++代码如下:

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

int main()
{
   string a;//被除数
   int b;//除数
   cin >> a;
   cin >> b;
   int temp = 0;//余数,刚开始肯定赋值为0
   string res = "";//结果,方便去除多余的0
   
   //模拟除法的步骤
   for(int i = 0;i < a.size();++i)
   {
       char c = a[i];
       int num = atoi(&c);
       num += temp*10;//加上余数
       res += to_string(num/b);
       temp = num%b;
   }
   
   //删除多余的0
   while(res[0] == '0')
   {
       res = res.substr(1);
   }

   if(res == "")//判断被除数是否小于除数
   {
       res += "0";
   }
   cout << res << " " << temp;
}
相关推荐
寒月小酒6 分钟前
3.21 OJ
算法·深度优先
Book思议-8 分钟前
【数据结构考研真题】链表大题
c语言·数据结构·考研·算法·链表·408·计算机考研
研究点啥好呢12 分钟前
3月21日GitHub热门项目推荐|攻守兼备,方得圆满
java·c++·python·开源·github
m0_5281744514 分钟前
ZLibrary反爬机制概述
开发语言·c++·算法
Yu_Lijing19 分钟前
基于C++的《Head First设计模式》笔记——责任链模式
c++·笔记·设计模式·责任链模式
你这个代码我看不懂25 分钟前
引用计数法存在的问题
java·jvm·算法
yunyun3212335 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
Storynone35 分钟前
【Day29】LeetCode:62. 不同路径,63. 不同路径 II,343. 整数拆分,96. 不同的二叉搜索树
python·算法·leetcode
小O的算法实验室36 分钟前
2025年SEVC SCI2区,基于强化学习辅助粒子群算法的污水处理厂进水流量估算及出水调度问题研究,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
2301_7854035241 分钟前
代码随想录算法营总结
算法