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

相关文章
|
1月前
|
C语言
计算一个数的 n 次方
【10月更文挑战第23天】计算一个数的 n 次方。
34 3
|
7月前
|
人工智能 SDN
PTA-求3×4数组中大于等于平均值的元素的和
求3×4数组中大于等于平均值的元素的和
94 1
华为机试HJ86:求最大连续bit数
华为机试HJ86:求最大连续bit数
|
存储
华为机试HJ15:求int型正整数在内存中存储时1的个数
华为机试HJ15:求int型正整数在内存中存储时1的个数
|
数据库
tp5 某个字段相加、统计、最大值、最小值、平均值及总分
tp5 某个字段相加、统计、最大值、最小值、平均值及总分
|
SQL
SQL内一个值除以一些字段的和 求百分比
SQL内一个值除以一些字段的和 求百分比
167 0
h0125. 求sum(2) (15 分)
h0125. 求sum(2) (15 分)
63 0
|
存储
单位换算】存储单位(bit Byte KB MB GB TB PB EB ZB YB BB)时间单位(ms μs ns ps)长度单位(dm cm mm μm nm pm fm am zm ym)
单位换算】存储单位(bit Byte KB MB GB TB PB EB ZB YB BB)时间单位(ms μs ns ps)长度单位(dm cm mm μm nm pm fm am zm ym)
616 0
|
Java
HDOJ 1018 Big Number(大数位数公式)
HDOJ 1018 Big Number(大数位数公式)
116 0