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;
}


目录
相关文章
|
7月前
Hopscotch(POJ-3050)
Hopscotch(POJ-3050)
poj 3664
http://poj.org/problem?id=3664 进行两轮选举,第一轮选前n进入第二轮,第二轮选最高   #include #include using namespace std; struct vote { int a,b; int c; ...
735 0
poj 2299 求逆序数
http://poj.org/problem?id=2299 #include using namespace std; int aa[500010],bb[500010]; long long s=0; void merge(int l,int m,int r) { ...
802 0
POJ 2262 Goldbach&#39;s Conjecture
Problem Description In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the foll...
1009 0
poj题目分类
http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html
771 0
|
机器学习/深度学习
|
机器学习/深度学习