PATB1017 A除以B

简介: PATB1017 A除以B

PAT1017

基础思路

本题使用基础数据类型会导致浮点错误,故应该用算法中对于大数据的转串模拟手算的思想来解,这种算法编写思路与手法应当熟练掌握:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
        string str;
        int num;
        cin >> str >> num;
        int res = 0;
        vector<int> ans;
        if(str.size() == 1 && str[0] - '0' < num) //处理被除数比除数小的情况
                cout<<0<<" "<<str[0] - '0';
        else{
                for(int i = 0; i < str.size(); i++){  //模拟手算的过程
                        res = res * 10 + str[i] -'0' + 0;
                        if(res >= num){
                                ans.push_back(res / num);
                                res = res % num;
                        }else{
                                ans.push_back(0);
                        }
                }
                for(int i =0; i < ans.size(); i++){ //输出的过程
                        if( i == 0 && ans[0] == 0 )
                                continue;
                        cout<<ans[i];
                }
                cout<<" "<<res;
        }
        return 0;
}

结果:

2018122814580746.png

相关文章
|
5月前
|
SQL
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
|
4月前
|
算法 大数据 Java
仅用10MB内存,你能从100亿个数中找到中位数吗?
大家好,我是小米,一名热爱技术分享的程序员。今天探讨如何在内存有限(仅10MB)时找到100亿个整数的中位数。面对庞大的数据量(约400GB)及内存限制,我们将采用分治策略:先依据整数的最高二进制位将数据分为非负数与负数两个文件,逐步缩小范围直至能在内存中处理。当内存充足时,可直接加载所有数据并排序找到中位数。这一问题不仅考验算法能力,也是处理大数据时资源管理的关键。
185 13
|
4月前
|
存储 监控 关系型数据库
单条记录大小增长倍数和ibd文件大小的增长倍数不成正比
【8月更文挑战第16天】若单条记录大小增长与IBD文件大小增长不成正比,原因可能包括:1) 索引影响:索引维护及结构调整需额外空间;2) 碎片问题:数据增删改造成空间利用率下降;3) 事务处理:日志记录增加文件大小;4) 并发操作:预留空间防死锁提性能;5) 缓冲池设置不当致频繁磁盘I/O;6) 存储引擎参数如文件每表设置影响文件增长。解决方法包括定期优化数据库、调整配置参数、监控事务并发操作及使用数据压缩技术。
|
7月前
|
人工智能 SDN
PTA-求3×4数组中大于等于平均值的元素的和
求3×4数组中大于等于平均值的元素的和
94 1
|
数据库
tp5 某个字段相加、统计、最大值、最小值、平均值及总分
tp5 某个字段相加、统计、最大值、最小值、平均值及总分
|
SQL
SQL内一个值除以一些字段的和 求百分比
SQL内一个值除以一些字段的和 求百分比
167 0
|
机器学习/深度学习
【每日一题Day84】LC2283判断一个数的数字计数是否等于数位的值 | 哈希表
思路:使用哈希表统计每个数字出现的次数,再与字符串中的次数进行比较,如果所有数字次数均等于字符串中的次数,返回true;反之,返回false
64 0
|
算法
利用二分查找获得List中小于并且最接近的数
利用二分查找获得List中小于并且最接近的数
219 0
统计正数和负数的个数然后计算这些数的平均值 (15 分)
统计正数和负数的个数然后计算这些数的平均值 (15 分)
275 0