Advertisement

NOI大整數-multiplication 問題-C 等級

阅读量:

大整数乘法

这次的一题又是高精度系列的了。。。先看一下题目:

题目

总运行时长:1000毫秒 内存占用量:65536千字节
说明
计算两个不超过200位的非负整数相乘的结果。

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

一行(一列),即为相乘的结果。不允许存在多余的前置零(例如计算得到的结果为342时),就不能以0342的形式输出。

Sample Input
12345678900
98765432100

Sample Output
1219326311126352690000

思路

首先这个问题并不是仅仅依靠像int、long long这样简单的数据类型就能轻易解决的吧?毫无疑问,在处理这类问题时应该采用数组逐个元素处理的方法对吧?具体方法类似于手动计算乘法的方式对吧?特别注意的是,在运算过程中要确保去掉多余的前导零对吧?

AC代码:

复制代码
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	char c1[205],c2[205];
    	cin>>c1>>c2;
    	int n1[205] = {0},n2[205] = {0},n3[2018] = {0};

全部评论 (0)

还没有任何评论哟~