PAT Basic 1017 A除以B (20) [数学问题-⼤整数运算]
题目
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成⽴。
输⼊格式:
输⼊在1⾏中依次给出A和B,中间以1空格分隔。
输出格式:
在1⾏中依次输出Q和R,中间以1空格分隔。
输⼊样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
题目分析
已知一个不超过1000位的数字N,和一个1位的正整数,求商和余数
- 因为N不超过1000位,所以看做大整数处理
解题思路
- 大整数除法,余数使用引用传入,返回商
Code
Code 01
#include <iostream>
using namespace std;
string div(string a, int b, int &r) {
string c;
for(int i=0; i<a.length(); i++) {
int temp = a[i]-'0';
r = r*10+temp; //本轮被除数
if(r<b) c.push_back('0');
else {
c.push_back(r/b+'0');
r=r%b;
}
}
while(c[0]=='0'&&c.length()>1) {
c.erase(c.begin());
// c.erase(0,1); //这种方式也可以
}
return c;
}
int main(int argc,char * argv[]) {
string A;
int B;
cin>>A>>B;
int r=0;
string s = div(A,B,r);
printf("%s %d",s.c_str(),r);
return 0;
}
PAT Basic 1017 A除以B (20) [数学问题-⼤整数运算]的更多相关文章
- PAT Basic 1017 A除以B (20 分)
本题要求计算 /,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 ...
- PAT乙级 1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- PAT 乙级 1017 A除以B (20) C++版
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- PAT (Basic Level) Practise (中文) 1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- PAT (Basic Level) Practice (中文)1017 A除以B (20分)
1017 A除以B (20分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- PAT-乙级-1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- 【PAT】1017 A除以B(20 分)
1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- PAT Basic 1017
1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- PAT(B) 1017 A除以B(Java)
题目链接:1017 A除以B 分析 读取输入的A和B后,保存为字符串.模拟除法运算过程. 不要用BigInteger,因为会超时. 另外字符串经常要扩展(例如:append())的话,不要用Strin ...
随机推荐
- Golang go-gin 注册路由
代码实现 main.go package main import ( "fmt" "github.com/jihite/go-gin-example/pkg/settin ...
- C#路径2
String apppath = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; //获取整个文件路径名ap ...
- 关于 with 语句
class C(object): def __enter__(self): print('jinru') return self def __exit__(self, exc_type, exc_va ...
- CF 767#
A题的话,用一个priority_queue维护一下,直到最大的符合要求才出来,,(一开始记错了,,2333写成了小根堆...) #include<bits/stdc++.h> #defi ...
- bzoj 4236JOIOJI
一开始忘掉特殊情况也是蛋疼2333(有一直到头的.mp[0][0]是要特判的) 做法也就是找mp[i][j]相同的东西.(貌似可以写成线性方程组(z=x+A,z=y+B)过这个的就是相等(可以先从2维 ...
- python 的第一个界面程序(PyQt5)
这里用到了python的一个第三qt库PyQt5,API与qt几乎完全一样(科学严谨下...) from PyQt5.QtWidgets import QApplication, QMainWindo ...
- 小白学Python——Anaconda安装
小白:Mr.林,快救救我,我被那些数据压得喘不过气了. Mr.林:小白,表方,怎么了? ! 小白:Mr.林,我从公司数据平台上下了一堆数据,如果选择时间范围广的话,平台就卡的动不了,动不动还奔溃, ...
- js 格式化时间日期
Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month &quo ...
- python复习——数据输入输出
标准输入:x=input()…… 标准输出:print()…… 格式化输出:1.字符串格式化运算符% 例:print('Values are %s,%s,%s.'%(1,2,['one','two'] ...
- Spring创建Bean的顺序
一直对Spring创建bean的顺序很好奇,现在总算有时间写个代码测试一下.不想看过程的小伙伴可以直接看结论 目录结构: 其中:bean4.bean5包下的class没有注解@Component,测试 ...