zoukankan      html  css  js  c++  java
  • 高精度算法(复习回顾)

    高精度算法:

    1.适用于数据很大的加减乘除法运算;

    2.由于C语言对于数据类型的限制而出现;

    3.python由于数据无限制,不存在此类问题

    算法处理步骤:

    数据存储——>模拟仿真——>进位处理——>数据输出

    the first:

    既然使用了高精度,说明数据极大,无法用现有数据类型接受,so

    我们在存储的时候需要特别处理:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char str[1000];
        scanf("%s",str);
        int num[1000];
        int len=strlen(str);
        int i;
        for(i=len;i>=0;i--)//反向存储,这里需要格外注意,思考一下,为什么要这样做;
        {
            num[i]=str[i]-'0';
        }
        return 0;
    }
    

      这里的处理方法其实就是使用char类型数组,以字符型数组的形式将超大数据接收,在使用ASCII码表将字符转化为一个单独的数,便于后期计算模拟,但是并不改变数在整体数据中的结构。

    模拟仿真:其意是说将其按照我们熟悉的数学计算方法来仿真计算。

    例如:(加法)

        2    4    5

    +  9    2    8

    ——————

       11   6    13

    如果按照我们的习惯,我们在计算加法后直接编进位了,但是计算机是无法理解我们的习惯的,所以,我们需要单独处理进位。

    似乎这儿没写完,但是我更新了Blog地址,之前的地址失效了,有时间再补吧……

    这是大数的计算方法,如果有兴趣,我附上一个超快大数运算算法的介绍:https://zhuanlan.zhihu.com/p/63291883

  • 相关阅读:
    字典树入门
    Cyclic Nacklace HDU 3746 KMP 循环节
    KMP字符串匹配 模板 洛谷 P3375
    Phone List POJ-3630 字典树 or 暴力
    stringstream istringstream ostringstream 三者的区别
    单词数 HDU 2072 字符串输入控制
    逆序单词 HIhoCoder 1366 字典树
    input框中修改placeholder的样式
    如何使用$.each()与$().each()以及他们的区别
    css解决input的阴影
  • 原文地址:https://www.cnblogs.com/gti2baby/p/10503393.html
Copyright © 2011-2022 走看看