zoukankan      html  css  js  c++  java
  • 大数【加减乘除】

    加法:字符型数组输入,然后转化反序存储到整型数组中,相加过程注意进位变量在结束时判断是否仍需要进位,同时注意特判0+0即可。

    减法:和加法类似,把进位变量改为借位变量即可,不过需要使用较大数减去较小数。

    乘法:乘法应该是最简单的吧,同样字符型数组输入,然后反序存储进整型数组中,利用错位相乘相加可得:sum[i+j]=a[i]*b[j]。

     大数除法是四则运算里面最难的一种。不同于一般的模拟,除法操作不是模仿手工除法,而是利用减法操作来实现的。其基本思想是反复做除法,看从被除数里面最多能减去多少个除数,商就是多少。逐个减显然太慢,要判断一次最多能减少多少个整数(除数)的10的n次方。

    以7546除以23为例:

        先用7546减去23的100倍,即减去2300,可以减3次,余下646,此时商就是300 (300=100*3);

        然后646减去23的10倍,即减去230,可以减2次,余下186,此时商就是320 (320=300+10*2);

        然后186减去23,可以减8次,余下2,此时商就是328 (328=320+1*8);

        因为2除以23的结果小于1,而我们又不用计算小数点位,所以不必再继续算下去了。

    【借鉴自https://www.cnblogs.com/wuqianling/p/5387099.html

  • 相关阅读:
    命令基础
    绑定在表单验证上的应用
    绑定和绑定的各种使用场景
    双向数据绑定
    事件
    委托应用及泛型委托和多播委托
    委托
    LINQ
    反射重要属性方法
    反射基本内容
  • 原文地址:https://www.cnblogs.com/MekakuCityActor/p/8946176.html
Copyright © 2011-2022 走看看