Product

The Problem

The problem is to multiply two integers X, Y. (0<=X,Y<10250)

The Input

The input will consist of a set of pairs of lines. Each line in pair contains one multiplyer.

The Output

For each input pair of lines the output line should consist one integer the product.

Sample Input

12
12
2
222222222222222222222222

Sample Output

144
444444444444444444444444

大数相乘,网上有非常多模板,今下午练练手,自己写一遍,刚開始忽略了前置0。导致0*12=00,0*123=000,后来改了输出就ac了。

#include <iostream>
#include <cstring>
#define maxn 260
using namespace std;
int main()
{
char str1[maxn],str2[maxn];
while(cin>>str1>>str2)
{
int len1,len2;
len1=strlen(str1);
len2=strlen(str2); int s1[maxn],s2[maxn];
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2)); int i;
for(i=0;i<len1;i++)
s1[i]=str1[i]-'0';
for(i=0;i<len2;i++)
s2[i]=str2[i]-'0'; int sum[maxn+maxn];
memset(sum,0,sizeof(sum));
int j,k;
for(i=len2-1;i>=0;i--)
{
for(j=len1-1;j>=0;j--)
{
sum[i+j+1]=sum[i+j+1]+s2[i]*s1[j];
}
}
for(k=len1+len2-1;k>=0;k--)
if(sum[k]>=10)
{
int temp;
temp=sum[k]%10;
sum[k-1]=sum[k-1]+sum[k]/10;
sum[k]=temp;
} //if(sum[0]!=0)
// cout<<sum[0];
bool flag=0;
for(i=0;i<len1+len2-1;i++)
{
if(sum[i]!=0)
flag=1;
if(flag==1)
cout<<sum[i];
}
cout<<sum[len1+len2-1];
cout<<endl;
}
return 0;
}

UVA 10106 Product (大数相乘)的更多相关文章

  1. (高精度运算4.7.21)UVA 10106 Product(大数乘法)

    package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class UVA_10106 ...

  2. UVa 10106 Product 【大数相乘】WA

    虽然是错的代码,但是还是想贴出来,最开始WA发现是没有考虑到乘积为0的情况,后来把a*0,0*a,a*0---0(若干个0),0--0(若干个0)*a都考虑进去了:可是还是WA,实在不懂先留在这儿. ...

  3. UVa 10106 Product

    高精度乘法问题,WA了两次是因为没有考虑结果为0的情况.  Product  The Problem The problem is to multiply two integers X, Y. (0& ...

  4. UVA 10106 (13.08.02)

     Product  The Problem The problem is to multiply two integers X, Y. (0<=X,Y<10250) The Input T ...

  5. POJ 2389 Bull Math(水~Java -大数相乘)

    题目链接:http://poj.org/problem?id=2389 题目大意: 大数相乘. 解题思路: java BigInteger类解决 o.0 AC Code: import java.ma ...

  6. 大数相乘算法C++版

    #include <iostream> #include <cstring> using namespace std; #define null 0 #define MAXN ...

  7. java版大数相乘

    在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 http://blog.csdn.net/jianzhibeihang/article/details/4948267 用j ...

  8. Linux C/C++ 编程练手 --- 大数相加和大数相乘

    最近写了一个大数相乘和相加的程序,结果看起来是对的.不过期间的效率可能不是最好的,有些地方也是临时为了解决问题而直接写出来的. 可以大概说一下相乘和相加的解决思路(当然,大数操作基本就是两个字符串的操 ...

  9. Karatsuba乘法--实现大数相乘

    Karatsuba乘法 Karatsuba乘法是一种快速乘法.此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表.此算法主要用于两个大数相乘 ...

随机推荐

  1. axel---下载工具

    axel是Linux下一个不错的HTTP/ftp高速下载工具.支持多线程下载.断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件.适合网速不给力时多线程下载提高下载速度.比如在国内VP ...

  2. Spring Cloud Sleuth通过Kafka将链路追踪日志输出到ELK

    1.工程简介 elk-eureka-server作为其他三个项目的服务注册中心 elk-kafka-client调用elk-kafka-server,elk-kafka-server再调用elk-ka ...

  3. HDU1050:Moving Tables

    pid=1050">Moving Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  4. Android 使用开源库载入网络图片

    Android 使用开源库载入网络图片,使用开源库载入图片.单击listview弹出popupwindow弹出框详情查看: Android 单击listview弹出popupwindow弹出框 ,里面 ...

  5. highcharts 阶梯图表并填充颜色(自己觉得:直角折线图表)

    例如以下:普通阶梯图 $(function () { $('#container').highcharts({         title: {         text: '普通阶梯图'       ...

  6. 怎样在nat方式的虚拟机下做ssh连接

    很多人在本机做測试都是用桥接的方式让虚拟机上网. 假设ip地址紧张或者根本就不同意我们拥有一个局域网的ip.这时候便能够使用NAT方式+putty来远程操作. 第一步,打开设备-Network-更改网 ...

  7. UML绘图总结

    九种图总算画完了,着实让自己纠结了老一阵子啊. 只是,幸运的是完毕了,尽管还有些不足之处,可是终于战胜它了.以下说一下自己的绘图过程  一.用例图 UML的第一幅图应该说是用例图了,这是我们绘图的前提 ...

  8. php课程 12-38 php的类的构造方法和析构方法怎么写

    php课程 12-38 php的类的构造方法和析构方法怎么写 一.总结 一句话总结:a.__construct(参数){},__destruct(){},b.如果类中的一个方法和类名相同,则该方法为构 ...

  9. 19,tuple多元数组

    #include <iostream> #include <tuple> using namespace std; void main() { char ch = 'a'; ; ...

  10. WdatePicker日期控件的使用

    将压缩包中的文件连带文件夹添加到项目中去,注意要完整的添加到项目中去,不要更改了其目录结构 然后在aspx页面中直接使用即可: 首先引入: <script src="/Controls ...