高精度计算乘法1(高精度乘单精度)
题目描述
高精度乘单精度,a*b。 a是一个很大的非负整数,但不超过240位,b是一个非负整数不超过10000,求a * b。
高精度乘单精度的数学实现
1 2 5
× 25
——————————
25 50 125
诸位进位:3 1 2 5
1 | 2 | 5 | |
---|---|---|---|
× | 25 | ||
25 | 50 | 125 | |
3 | 1 | 2 | 5 |
实现步骤:
1、string s读入高精度数,int b读入单精度数
2、s逆序读入数组int a[250]
3、用b去乘a中的每个元素:a[i]=a[i]*b;
4、进位:a[i+1]=a[i+1]+a[i]/10;a[i]=a[i]%10;
5、从后往前找,找到不为0的位置p,然后从该位置开始输出(要注意成绩为0的情况,p初值设为0)
#include<bits/stdc++.h>
using namespace std;
int a[250];
string s;
int main(){