A除以B(千位数除法)

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

输入格式:

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

输出格式:

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

 

#include<iostream>
#include<string>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
string arr;
char arry[1500] = {0};
int n, p, i, shang, yu = 0, j, flag = 0;
cin >> arr >> n;
int len = arr.length();
for(i = 0; i < len; i++)
{
p = (int)(arr[i] - '0') + 10 * yu;
shang = p / n;
yu = p % n;
arry[i] = (char)(shang + '0');
flag++;
}
for(i = 0; i < flag; i++)
if(arry[i] != '0')
{
for(j = i; j < flag; j++)
cout << arry[j];
break;
}
if(flag == 1 && arry[0] == '0')
cout << 0;
cout << " " << yu;
return 0;
}

 

posted @   a_true  阅读(288)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示