zoukankan      html  css  js  c++  java
  • AcWing 793. 高精度乘法

    https://www.acwing.com/problem/content/795/

    #include<bits/stdc++.h>
    using namespace std; 
    //A*b   一个高精度的数乘一个低精度的数
    vector<int> mul(vector<int> &A, int b)
    {
        //这个乘法有点和平时的不同,这个是用较长的数字的每一位,直接去乘小的数字 
        vector<int>C;  //答案 
        int t=0;  //进位 
        for(int i=0;i<A.size()||t;i++)  //当i还没有循环完或者进位t还没有处理完 ,就一直做 
        {
            if(i<A.size())  t+=A[i]*b;   //如果A还没有遍历完  那么t就加上A【i】*b 
            C.push_back(t%10);     //当前这一位就是t%10 
            t/=10;  //进位 
        }
        return C;
    }
    int main()
    {
        string a;  //a很长,数位多     b很小,数位少 
        int b;
        cin>>a>>b;
        vector<int>A;
        for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');
        auto C=mul(A,b);
        for(int i=C.size()-1;i>=0;i--) cout<<C[i];
        return 0;
     } 
  • 相关阅读:
    用 Sqlmap 识别 WAF
    OD 实验(九)
    跳转指令及其跳转条件
    Python
    Python 模块
    OD 实验(八)
    OD 实验(七)
    OD 实验(六)
    OD 实验(五)
    OD 实验(四)
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11757285.html
Copyright © 2011-2022 走看看