c++ 超长整数乘法 高精度乘法

c++ 超长整数乘法 高精度乘法

解题思路

  • 参考加法和减法解题思路
  • 乘法不是一位一位的按照手算的方式进行计算,而是用循环用一个数的某一位去乘另外一个数

打卡代码

#include<bits/stdc++.h>
using namespace std;

vector<int> mul(vector<int> a,int b){
    vector<int> c;
    int t=0;
    for (int i = 0; i < a.size()|| t; ++i) {
        if(i<a.size()) t+=a[i]*b;
        c.push_back(t%10);
        t/=10;
    }
    while(c.size()>1 && c.back() == 0) c.pop_back();
    return c;
}

int main(){
    string s1;
    vector<int> a;
    int b;
    cin>>s1>>b;
    for (int i = s1.size()-1; i >= 0 ; --i) {
        a.push_back(s1[i]-'0');
    }
    auto c=mul(a,b);
    for (int i = c.size()-1; i >= 0 ; --i) {
        cout<<c[i];
    }
    return 0;
}
posted @   小呆瓜瓜  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示