码迷,mamicode.com
首页 > 其他好文 > 详细

小白月赛22 F: 累乘数字

时间:2020-02-23 22:29:02      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:out   acm   log   clu   cstring   turn   namespace   tps   oid   

F:累乘数字

技术图片

考察点: 思维,高精度
坑点 : 模拟就 OK 

析题得侃:

如果你思维比较灵敏:直接输出这个数+ d 个 "00"就行了
当然,我还没有那么灵敏,只能用大数来搞了

关于高精度的各种板子,简单实现

Code:

#include <vector>
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
 
using namespace std;
 
int n,d;
 
int main(void) {
    vector<int> mul(vector<int> &A,int b);
    while(scanf("%d%d",&n,&d) != EOF) {
        vector<int>temp;
        while(n) {
            temp.push_back(n % 10);
            n = n / 10;
        }
//      reverse(temp.begin(),temp.end());
        for(int i = 1; i <= d; i ++) {
            temp = mul(temp,100);
        }
        for(int i = temp.size() - 1; i >= 0; i --) {
            cout << temp[i];
        }
        cout << endl;
    }
    return 0;
}
 
vector<int> mul(vector<int> &A,int b) {
    int t = 0;
    vector<int> C;
    for(int i = 0; i < A.size(); i ++) {   // 模拟乘法过程
        t += A[i] * b;
        C.push_back(t % 10);
        t /= 10;
    }
    while(t) {                             // 处理最后的那个数
        C.push_back(t % 10);
        t /= 10;
    }
    return C;
}

小白月赛22 F: 累乘数字

标签:out   acm   log   clu   cstring   turn   namespace   tps   oid   

原文地址:https://www.cnblogs.com/prjruckyone/p/12354383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!