1017 A除以B(C++)
一、问题描述:
本题要求计算 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 <cstring> 3 using namespace std; 4 int main() 5 { 6 char a[1001]; 7 int str[1000]={0};//Q 8 int b; 9 cin>>a>>b; 10 int n=0,j=0; 11 int yu;//R 12 if(a[0]=='0')//被除数为0 13 { 14 cout<<"0"<<" "<<"0"<<endl; 15 return 0; 16 } 17 if(b==0)//除数为0 18 { 19 cout<<"0"<<" "<<a<<endl; 20 return 0; 21 } 22 for(int i=0;i<strlen(a);i++) 23 { 24 n=n*10+(a[i]-'0'); 25 if(n>=b) 26 { 27 str[j++]=n/b; 28 n=n%b; 29 yu=n; 30 } 31 else if(n<b) 32 { 33 if(str[0]!=0) 34 { 35 str[j++]=0; 36 } 37 else if(strlen(a)==1)//被除数为一位数,除数小于被除数 38 { 39 yu=n; 40 str[j++]=0; 41 } 42 } 43 } 44 for(int i=0;i<j;i++) 45 { 46 cout<<str[i]; 47 } 48 cout<<" "<<yu<<endl; 49 return 0; 50 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)