博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uva 10106 - Product
阅读量:7015 次
发布时间:2019-06-28

本文共 1822 字,大约阅读时间需要 6 分钟。

 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

 

12122222222222222222222222222

 

Sample Output

 

144444444444444444444444444
#include
#include
int main(){ int sum[502], i, j, t, loop, jlen, ilen, temp, e; char inter[251], jnter[251]; memset(sum, 0, sizeof(sum)); memset(inter, 0, sizeof(inter)); memset(jnter, 0, sizeof(jnter)); while(scanf("%s", inter) != EOF) { getchar(); scanf("%s", jnter); e = 0; ilen = strlen(inter); jlen = strlen(jnter); for(j=jlen-1; j>=0; --j) { loop = jlen-1-j; for(i=ilen-1; i>=0; --i, ++loop) { temp = sum[loop]; sum[loop] = (e+sum[loop]+(inter[i]-'0')*(jnter[j]-'0'))%10; e = (e+temp+(inter[i]-'0')*(jnter[j]-'0'))/10; } for(t=loop; t<502 && e; ++t) { temp = sum[t]; sum[t] = (e + sum[t])%10; e = (e + temp)/10; } } for(i=501, temp = 0; i>=0; --i) { if(sum[i] != 0) { temp = 1; printf("%d", sum[i]); } else if(temp == 1) { printf("%d", sum[i]); } } if(temp == 0)printf("0"); printf("\n"); memset(sum, 0, sizeof(sum)); memset(inter, 0, sizeof(inter)); memset(jnter, 0, sizeof(jnter)); } return 0;}

解题报告:

两个大数相乘,无可厚非按照手工计算的方法进行,知道了两个大数相加这题也就容易了。

转载于:https://www.cnblogs.com/liaoguifa/archive/2012/11/07/2758092.html

你可能感兴趣的文章
监控系统Opserver的配置调试
查看>>
Python正则表达式
查看>>
日志文件报警监控脚本(可用于zabbix监控文件)测试中...
查看>>
【原创】Python第二章——行与缩进
查看>>
【规划】学习计划
查看>>
2014.5.20知识点学习:void及void指针含义的深刻解析(转载)
查看>>
thrift
查看>>
Django建站纪要(三)——建博客
查看>>
Python全栈之路(目录) - 含资料(持续更新)
查看>>
cutpFTP设置步骤
查看>>
org-reveal
查看>>
CSS实例:图片导航块
查看>>
MemoryStream和FileStream
查看>>
Excel VLOOKUP函数怎么查询一个值返回多个结果
查看>>
python 第四天
查看>>
spring junit
查看>>
projecteuler Problem 8 Largest product in a series
查看>>
挑逗 Java 程序员的那些 Scala 绝技
查看>>
Ubuntu 16.04.5下FFmpeg编译与开发环境搭建
查看>>
$cookies
查看>>