1017. A除以B (20)----string的额外操作
来源:互联网 发布:内网访问阿里云 编辑:程序博客网 时间:2024/06/05 02:15
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
需要注意的是最后输出商数q时,应该去掉前几位的零,但如果q就是n个0,则应该输出一个0
总结下string的搜索操作
s.find(args) 查找s中args第一次出现的位置
s.rfind(args) 查找s中args最后一次出现的位置
s.find_first_of(args) 在s中查找args中任何一个字符第一次出现的位置
s.find_last_of(args) 在s中查找args中任何一个字符最后一次出现的位置
s.find_first_not_of(args) 在s中查找第一个不在args中的字符
s.find_last_not_of(args) 在s中查找最后一个不在args中的字符
args必须是以下形式之一
c,pos 从s中位置pos开始找字符c。pos默认为0
s2,pos 从s中位置pos开始找字符串s2。pos默认为0
cp,pos 从s中位置pos开始查找指针cp指向的以空字符结尾的c风格字符串,pos默认为0
cp,pos,n 从s中位置pos开始查找指针cp指向的数组的前n个字符。pos和n无默认值
#include <iostream>#include <string>using namespace std;int main(){ string a,q; int b,r=0; cin >> a >> b; for (auto i:a) { q.push_back((i - '0'+r*10) / b+'0'); r = (i - '0' + r * 10) % b; } auto it = q.find_first_not_of('0'); cout << ((it != string::npos) ? q.substr(it) : "0" )<< " " << r; return 0;}
- 1017. A除以B (20)----string的额外操作
- PAT 1017. A除以B (20)()
- 1017. A除以B (20)(复)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- Cocos2dx - Scheduler学习理解
- RunLoop
- C++ 重载解析 知多少?
- hql多表关联查询
- android studio将代码关联到git@osc(出现 Empty repository,以及push reject解决)
- 1017. A除以B (20)----string的额外操作
- 操作基本数据类型的流
- scrollview嵌套listview
- nyoj1062
- Android Studio 轻松打jar 包
- UVa 1594 Ducci Sequence
- Ubuntu16.04 用root身份登陆
- 内存操作流(处理临时信息)
- C#设计模式学习笔记(一) 之 简单工厂模式