首页 > 其他 > 详细

大数相乘

时间:2016-04-13 13:08:50      阅读:164      评论:0      收藏:0      [点我收藏+]
clc;
clear all;
close all;

A =‘962898798798798978987898‘;
B = ‘9387978987987879899999999999999999999999999999999999999999999999999999999999999999‘;
A = fliplr(A);
B = fliplr(B);
result=zeros(1,length(A)+length(B));
for i = 1:length(B)
multiFlag =0;
addFlag =0;
for ii =1:length(A)
temp1 = str2num(A(ii)) * str2num(B(i)) +multiFlag;
multiFlag = floor(temp1/10);
temp1 = mod(temp1,10);
temp2 = result(i+ii-1)+ temp1+addFlag ;
addFlag = floor(temp2/10);
result(i+ii-1) = mod(temp2,10);
end
result(i+length(A)) = result(i+length(A))+multiFlag+addFlag;
end
ab = fliplr(result)
ans = str2num(fliplr(A)) * str2num(fliplr(B))

  

大数相乘

原文:http://www.cnblogs.com/Kermit-Li/p/5386509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!