首页 > 学院 > 开发设计 > 正文

P1303 A*B Problem

2019-11-11 04:49:56
字体:
来源:转载
供稿:网友

题目描述

A*B,求两个数字的积。

样例输入

12

样例输出

2

思路

O(n^2)高精乘。var a,b,c:array[0..100000] of longint; x,y:ansistring; i,j,k,l:longint;begin readln(x); readln(y); if (x='0')or(y='0') then begin writeln(0); exit; end; l:=length(x); k:=length(y); for i:=1 to l do val(x[l-i+1],a[i]); for i:=1 to k do val(y[k-i+1],b[i]); for i:=1 to l do for j:=1 to k do begin c[i+j-1]:=c[i+j-1]+a[i]*b[j]; if c[i+j-1]>=10 then begin c[i+j]:=c[i+j]+c[i+j-1] div 10; c[i+j-1]:=c[i+j-1] mod 10; end; end; l:=l+k; while c[l]=0 do dec(l); for i:=l downto 1 do write(c[i]);end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表