POJ 2389

简介: 点击打开链接 简单的大数相乘,直接套上模板即可,注意一下数组开大点,不然肯定WA。 代码: #include#include#includeusing namespace std;int sum[2001];int ...

点击打开链接


简单的大数相乘,直接套上模板即可,注意一下数组开大点,不然肯定WA。


代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int sum[2001];
int s1[50] , s2[50];
string str1 , str2;
void multiply()
{
    int i , j , k;
    int l1 , l2 , len;
    memset(sum,0,sizeof(sum));
    memset(s1,0,sizeof(s1));
    memset(s2,0,sizeof(s2));
    l1 = str1.size();
    l2 = str2.size();
    for(i = l1-1 , k = 1;i >= 0;i-- , k++)
        s1[k] = str1[i]-48;
    for(i = l2-1 , k = 1;i >= 0;i-- , k++)
        s2[k] = str2[i]-48;
    for(i = 1;i <= l1;i++ )
    {
        for(j = 1;j <= l2;j++)
        {
            sum[i+j-1] += s1[i]*s2[j];
            sum[i+j] += sum[i+j-1]/10;
            sum[i+j-1] %= 10;
        }
    }
    len = 2000;
    while(len--)
    {
        if(sum[len] != 0)
            break;
    }
    for(;len >= 1;len--)
        cout<<sum[len];
    cout<<endl;
}
int main()
{
    while(cin>>str1>>str2)
    {
        multiply();  
    }
    return 0;
}


目录
相关文章
|
存储
POJ 2487 Stamps
POJ 2487 Stamps
84 0
POJ 1936 All in All
POJ 1936 All in All
63 0
|
人工智能 机器学习/深度学习
|
C语言
poj 2503 查字典
Description You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language.
838 0
poj-3094-quicksum
http://poj.org/problem?id=3094 很简单 #include #include using namespace std; int main() { string a; int sum=0; while(getline(cin...
552 0
|
机器学习/深度学习 算法