14行代码AC——1017 A除以B (20分)(大数运算+讲解)
立志用更少的代码做更高效的表达
Pat乙级最优化代码+题解+分析汇总——>传送门
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
模拟手算除法, 举例:
123除以7, 先用12除以7得1, 将1存入字符串。
12%7=5, 则下一步就要用5*10+3去除以7, 等于7, 将7存入字符串。
余数4保存。 输出即可。
注意: 本题采用了先计算后判定的方式, 也就是不管是否会产生前导零, 先将程序写出来, 最后在输出时将前导零忽略即可。
与此相反的方法是先判定后计算, 也就是设计一个巧妙的算法让程序不保存前导零。
我更倾向于前一种算法, 因为代码简单易懂, 思维量小。
代码展示
#include<bits/stdc++.h>
using namespace std;
int main() {string A, Q="";int B, R = 0;cin >> A >> B;for(char a : A) {R = R*10+a-'0';Q += R/B + '0';R %= B;}while(!Q.empty() && Q.front() == '0') Q.erase(Q.begin());//Q.c_str() 函数是 C语言的Printf输出string的方法 printf("%s %d", Q.size()==0?"0":Q.c_str(),R);
return 0; }
每日一句
他日若遂凌云志,敢笑黄巢不丈夫。
14行代码AC——1017 A除以B (20分)(大数运算+讲解)相关推荐
- 10行代码AC——7-2 说反话-加强版 (20 分)——解题报告
励志用尽量少的代码做高效的表达. 题目描述 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由 ...
- PAT (Basic Level) Practice (中文)1017 A除以B (20 分)
1017 A除以B (20 分) Python 我大Python直接硬算,不玩虚的. if __name__ == '__main__':a, b = map(int, input().split() ...
- C++学习之路 | PTA乙级—— 1017 A除以B (20分)(精简)
1017 A除以B (20分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- 12行代码AC——L1-058 6翻了(15分)
立志用更少的代码做更高效的表达 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&quo ...
- 7行代码AC——1010 一元多项式求导 (25分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1 .) 输入格式: 以指数递降 ...
- 14行代码AC——习题5-4 交换学生(Foreign Exchange, UVa 10763)——解题报告
励志用少的代码做高效的表达 题目(提交)链接→UVa-10763 本题为水题,因此侧重点由解题转向优化. 题意:判断第一列的数字是否与第二列的数字相同(乱序).解题方向多样,值得探究: 1.map哈希 ...
- 比紫书优化,14行代码AC——例题 5-7 丑数(Ugly Numbers,UVa 136)——解题报告
题意: 丑数是一些因子只有2,3,5的数.数列1,2,3,4,5,6,8,9,10,12,15--写出了从小到大的前11个丑数,1属于丑数.现在请你编写程序,找出第1500个丑数是什么. 没有输入 输 ...
- 【19行代码AC,简洁】1029 Median (25 分)
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Given an increasing sequence S of N integers, the median is the n ...
- 18行代码AC——PTA 二叉树的遍历 (10分)——解题报告
励志用尽量少的代码做高效的表达. 根据输入构造二叉树,输出该二叉树的先序序列.二叉树共有N个节点,节点编号是1到N.约定1号节点是根节点. 输入格式: 第一行输入整数N. 接下来有N行,依次给出1到N ...
最新文章
- C++知识点28——使用C++标准库(再谈迭代器)
- setBackgroundResource和setImageResource的区别
- android post json格式,Android中post请求传递json数据给服务端的实例
- python装饰器-究竟什么是装饰器?python中的装饰器介绍
- 当前时间转换的秒数_C++ 日期 amp; 时间
- UI framework 处理user 错误输入的逻辑
- 【渝粤教育】国家开放大学2018年春季 0273-22T中国现代文学 参考试题
- 整理了Kafka的一些常用工具,建议收藏备用!| 博文精选
- safari浏览器_吹爆苹果自带浏览器Safari,没有比它更贴心的浏览器了!!
- Android播放音频的两种方式
- 从Chrome源码看JS Array的实现
- 商品展示页面html模板,CSS3电商网站商品展示窗UI模板
- hp probook fn_如何在HP ProBook(或兼容笔记本电脑)上安装Mac OS X Lion
- 【Javascript】用 js 写一个模板引擎
- 约翰诺依曼在1940年发明了计算机英语,冯诺依曼元胞自动机
- python to csv参数_pandas的to_csv()使用方法
- [7.19NOIP模拟测试6]失恋三连(雾 题解
- python--异常捕获
- 如何嫁给年入百万的阿里人?
- YOLO中MAP的具体计算