加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 大数据 > 正文

大数加,减,乘,取余一起

发布时间:2021-03-19 15:22:23 所属栏目:大数据 来源:网络整理
导读:#includeiostream#includestring#define LEN 100using namespace std;void add(char a[],char b[]){/*********************装换*********************/int num1[LEN];int num2[LEN];for (int i = 0; i LEN; i++){num1[i] = 0;num2[i] = 0;}int lena = strlen

#include<iostream>
#include<string>
#define LEN 100
using namespace std;

void add(char a[],char b[]){
	/*********************装换*********************/
	int num1[LEN];
	int num2[LEN];
	for (int i = 0; i < LEN; i++){
		num1[i] = 0;
		num2[i] = 0;
	}
	int lena = strlen(a);
	int lenb = strlen(b);

	for (int i = lena - 1,j = 0; i >= 0; i--){
		num1[j++] = a[i] - '0';
	}

	for (int i = lenb - 1,j = 0; i >= 0; i--){
		num2[j++] = b[i] - '0';
	}
	for (int i = 0; i < LEN; i++){
		num1[i] += num2[i];
	}
	/*****************求和*******************/
	for (int i = 0; i < LEN; i++)
	{
		if (num1[i] >= 10){
			num1[i + 1] += num1[i] / 10;
			num1[i] %= 10;
		}
	}
/************打印************************/
	int i;
	for (i = LEN - 1; i > 0; i--){
		if (num1[i] != 0)
			break;
	}
	for (; i >= 0; i--)
		cout << num1[i];
	cout << endl;
}

void mul(char a[],char b[])
{
/****************装换****************/
	int num1[LEN];
	int num2[LEN];
	for (int i = 0; i < LEN; i++){
		num1[i] = 0;
		num2[i] = 0;
	}
	int lena = strlen(a);
	int lenb = strlen(b);

	for (int i = lena - 1,j = 0; i >= 0; i--){
		num2[j++] = b[i] - '0';
	}
/************************乘积*************/	
	int sum[LEN];
	for (int i = 0; i < LEN; i++){
		sum[i] = 0;
	}

	for (int i = 0; i < lena; i++)
		for (int j = 0; j < lenb; j++){
			sum[i + j] += num1[i] * num2[j];
			if (sum[i + j] >= 10){
				sum[i + j + 1] += sum[i + j] / 10;
				sum[i + j] %= 10;
			}
		}
	/*******************打印*******************/
	int i;
	for (i = LEN - 1; i > 0; i--){
		if (sum[i] != 0)
			break;
	}
	for (; i >= 0; i--)
		cout << sum[i];
	cout << endl;
}

void mod(char a[],int mod){
	///****************装换****************/
	//int num1[LEN];
	//int num2[LEN];
	//for (int i = 0; i < LEN; i++){
	//	num1[i] = 0;
	//	num2[i] = 0;
	/                        

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读