首页 > 其他分享 >信息学一本通 1174:大整数乘法

信息学一本通 1174:大整数乘法

时间:2022-09-03 11:57:29浏览次数:53  
标签:信息学 1174 lb int -- sb sa 乘法 SIZE

时间限制: 1000 ms         内存限制: 65536 KB

提交数: 21350     通过数: 11922

【题目描述】

求两个不超过200位的非负整数的积。

【输入】

有两行,每行是一个不超过200位的非负整数,没有多余的前导0。

【输出】

一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。

【输入样例】

12345678900
98765432100

【输出样例】

1219326311126352690000
信息学奥赛学习资料

链接:https://pan.baidu.com/s/1IBH3uj7OdE6gx16RYxZCtw?pwd=ip6d

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define SIZE 210
int main() {
	char sa[SIZE],sb[SIZE];
	cin>>sa>>sb;
	int la,lb,lc;
	la=strlen(sa);
	lb=strlen(sb);
	int a[SIZE],b[SIZE],c[2*SIZE];
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(c,0,sizeof(c));
	for(int i=la-1; i>=0; i--) { //字符串sa倒序存入数组a
		a[i]=sa[la-1-i]-'0';
	}
	for(int i=lb-1; i>=0; i--) { //字符串sb倒序存入数组b
		b[i]=sb[lb-1-i]-'0';
	}
	int tmp;//乘积
	for(int i=0; i<la; i++) {
		for(int j=0; j<lb; j++) {
			tmp=a[i]*b[j]+c[i+j];	//计算结果存入c
			c[i+j+1]+=(tmp/10);//进位
			c[i+j]=tmp%10;
		}
	}
	lc=la+lb;
	while(c[lc-1]==0&&lc>1) { //处理先导 0
		lc--;
	}
	for(int i=lc-1; i>=0; i--) { //倒序输出c
		cout<<c[i];
	}
	cout<<endl;
	return 0;
}

  

标签:信息学,1174,lb,int,--,sb,sa,乘法,SIZE
From: https://www.cnblogs.com/sd129/p/16652281.html

相关文章

  • 信息学一本通 1175:除以13
    时间限制:1000ms      内存限制:65536KB提交数:16826   通过数:9935【题目描述】输入一个大于0的大整数N,长度不超过100位,要求输出其除以13得到的......
  • 信息学奥赛一本通 1168:大整数加法
     时间限制:1000ms      内存限制:65536KB提交数:72955   通过数:24357【题目描述】求两个不超过200位的非负整数的和。【输入】有两行,每......
  • 信息学奥赛一本通 1169:大整数减法
    时间限制:1000ms      内存限制:65536KB提交数:35546   通过数:20249【题目描述】求两个大的正整数相减的差。【输入】共2行,第1行是被减数a,......
  • 信息学一本通 1170:计算2的N次方
    时间限制:1000ms      内存限制:65536KB提交数:25947   通过数:13824【题目描述】任意给定一个正整数N(N<=100),计算2的n次方的值。【输入】......
  • 信息学奥赛一本通 1172:求10000以内n的阶乘
    时间限制:1000ms      内存限制:65536KB提交数:34265   通过数:10018【题目描述】求<spanid="MathJax-Span-2"class="mrow"><spanid="MathJax......
  • 信息学一本通 1004:字符三角形
    时间限制:1000ms      内存限制:66536KB提交数:160605   通过数:88949【题目描述】给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符......
  • 信息学一本通 1005:地球人口承载力估计
    时间限制:1000ms      内存限制:65536KB提交数:113684   通过数:64422【题目描述】假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资......
  • 信息学一本通 1307:【例1.3】高精度乘法
    时间限制:1000ms      内存限制:65536KB提交数:47439   通过数:17996【题目描述】输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数......
  • 信息学一本通 1308:【例1.5】高精除
    时间限制:1000ms      内存限制:65536KB提交数:14866   通过数:7293【题目描述】高精除以高精,求它们的商和余数。【输入】输入两个低于300位......
  • 信息学一本通 1309:【例1.6】回文数(Noip1999)
    时间限制:1000ms      内存限制:65536KB提交数:17647   通过数:7270【题目描述】若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其......