大数乘法

#include<iostream>
using namespace std;
#include<vector>
void main(){
	const int N = 10;
	const int M = 3;
	char str1[N] = "922222229";
	char str2[M] = "22";
	vector<int> myvector1;
	 
	int weishu = 0;
		for (int j = 0; j < M-1; j++)
	{
		for (int i = 0; i < N - 1; i++)
		{
			int num = (str1[N - i - 2] - '0') *(str2[M - j - 2] - '0') + weishu;
			weishu = num / 10;
			if (myvector1.size() <= j + i)myvector1.push_back(num%10);
			else{
				myvector1[j + i] += num % 10;
				weishu += myvector1[j + i] / 10;
				myvector1[j + i] = myvector1[j + i] % 10;
			} 
		}
		if (weishu){
			if (myvector1.size() <= N - 1 + j)myvector1.push_back(weishu);
			else{
				myvector1[N - 1 + j] += weishu;
			}
			weishu = 0;
		}
		
	} 
	for (int i = myvector1.size()-1; i >= 0; i--)
	{
		cout << myvector1[i];
	} 
	system("pause");
}

相关文章

自1998年我国取消了福利分房的政策后,房地产市场迅速开展蓬...
文章目录获取数据查看数据结构获取数据下载数据可以直接通过...
网上商城系统MySql数据库设计
26个来源的气象数据获取代码
在进入21世纪以来,中国电信业告别了20世纪最后阶段的高速发...