wns9778.com_威尼斯wns.9778官网

热门关键词: wns9778.com,威尼斯wns.9778官网
wns9778.com > 计算机教程 > Code Kata:wns9778.com大整数四则运算—乘法 javascrip

原标题:Code Kata:wns9778.com大整数四则运算—乘法 javascrip

浏览次数:110 时间:2019-05-10

 1 function multiplicative(a, b) { /*输入两个字符串类型大数字*/
 2 
 3     var sign = '';
 4 
 5     if(a == "0" || b == "0"){
 6 
 7         return "0";
 8     }
 9 
10     if(a.indexOf('-') >= 0 && b.indexOf('-') < 0){
11 
12         sign = '-';
13 
14         a = a.substr(1);
15     }
16     else if(a.indexOf('-') < 0 && b.indexOf('-') >= 0){
17 
18         sign = '-';
19 
20         b = b.substr(1);
21     }
22 
23     if(a.indexOf('-') >= 0 && b.indexOf('-') >= 0){ /*两个负数相加,指定符号*/
24 
25         a = a.substr(1);
26 
27         b = b.substr(1);
28     }
29 
30     var aArr = a.replace(/^0 /,'').split('').reverse();
31 
32     var bArr = b.replace(/^0 /,'').split('').reverse(); /*利用倒序数组存储*/
33 
34     var mult = "0";
35 
36     for(var i=0;i<aArr.length;i  ){
37 
38         var digA = parseInt(aArr[i]) ? parseInt(aArr[i]) : 0;
39 
40         for(var j=0;j<bArr.length;j  ){
41 
42             var zero = '';
43 
44             for(var k=0;k<i j;k  ){
45 
46                 zero  = '0';
47             }
48 
49             var digB = parseInt(bArr[j]) ? parseInt(bArr[j]) : 0;
50 
51             mult = add(mult,(digA * digB).toString()   zero);
52         }
53     }
54 
55     return sign   mult;
56 }

采取的方式同样为竖式计算,每一位相乘后相加。

 

上周练习了加减法,今天练习大整数的乘法运算。

  • 异符号相乘时结果为负数,0乘任何数都为0
  • 需要调用加法函数
  • 因为输入输出的为字符串,需要去除字符串开头的0

乘法函数:

wns9778.com 1

本文由wns9778.com发布于计算机教程,转载请注明出处:Code Kata:wns9778.com大整数四则运算—乘法 javascrip

关键词: wns9778.com

上一篇:Python学习宝典,Python400集让你成为从零基础到手

下一篇:没有了