小白月赛22 F: 累乘数字

Posted prjruckyone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白月赛22 F: 累乘数字相关的知识,希望对你有一定的参考价值。

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: 累乘数字的主要内容,如果未能解决你的问题,请参考以下文章

小白月赛54 F.Traveling(图论&构造)

小白月赛54 F.Traveling(图论&构造)

小白月赛22 E : 方格涂色

牛客小白月赛34霖行F-dd爱框框

小白月赛22 G : 仓库地址

小白月赛22 D : 收集纸片