zoukankan      html  css  js  c++  java
  • 手动露天广场和立方体

    一、自序

            初中时的数学老师教我们要手动打开方,当时我感到很震惊。验证几次。法真的非常牛!

    现在上了研究生。回忆起曾经手动开平方的方法都已经非常模糊了。今天查了下百度,才发现,这种方法出自《九章算术》。原来中国几千年前就已经找到这样的方法了!


    二、手动开平方

           九章算术上是如此描写叙述的:

    开方术曰:
            置积为实。借一算。步之。

    超一等。议所得。

    以一乘所借一算为法。

    而以除。除已。倍法为定法。其复除。折法而下。复置借算步之如初。以复议一乘之。所得副。

    以加定法。以除。以所得副从定法。

    复除折下如前。 
           若开之不尽者为不可开。当以面命之。若实有分者,通分内子为定实。乃开之。讫。开其母报除。若母不可开者。又以母乘定实,乃开之,讫,令如母而一。



     2.1 算法描写叙述


         1.将被开方数的整数部分从个位起向左每隔两位划为一段,用撇号分开,分成几段,表示所求平方根是几位数;小数部分从最高位向后两位一段隔开,段数以须要的精度+1为准。

         2.依据左边第一段里的数,求得平方根的最高位上的数。

         3.从第一段的数减去最高位上数的平方。在它们的差的右边写上第二段数组成第一个余数。

         4.把第二步求得的最高位的数乘以20去试除第一个余数。所得的最大整数作为试商。

         5.用第二步求得的的最高位数的20倍加上这个试商再乘以试商。假设所得的积小于或等于余数,试商就是平方根的第二位数。假设所得的积大于余数。就把试商减小再试,得到的第一个小于余数的试商作为平方根的第二个数。

    (即3为平方根的第二位。

        6.用相同的方法,继续求平方根的其它各位上的数。

    用上一个余数减去上法中所求的积,与第三段数组成新的余数。这时再求试商,要用前面所得到的平方根的前两位数乘以20去试除新的余数,所得的最大整数为新的试商。。

        7.对新试商的检验如前法。


    2.2 举例:

        1.从个位数向左每两位分成一段。

        2.最高位为10,取平方数不大于10的数,即3

        3. 10 - 3^2 = 1,余1

        4. 3*20 = 60。试商 134/60 = 2

        5,134 / (60+2) = 2,余10,小于62。所以确定 第二位是2

        6. 32*20 = 640。试商 1026 / 640 = 1

        7, 1026/(640+1) = 1,余385 ,所以确定第三位是1

        8,依次循环第4-7步,计算下一位,直到余数为0 


    三、手动开立方:

        九章算术描写叙述例如以下:

    《九章算术》少广章:
    第一九题:今有积一百八十六万八百六十七尺。问为立方几何?
    答曰:一百二十三尺。
    开立方术曰:
           置积为实。借一算步之,超二等。议所得,以再乘所借一算为法 ,而除之。除已。三之为定法。

    复除,折而下。以三乘所得数置中行。

    复借一算置下行。步之 ,中超一,下超二等。

    复置议,以一乘中。再乘下,皆副以加定法。以定法除。

    除已,倍下、 并中从定法。复除,折下如前。
           开之不尽者。亦为不可开。

    若积有分者,通分内子为定实。

    定 实乃开之,讫,开其母以报除。若母不可开者,又以母再乘定实。乃开之。讫。令如母而一。


    3.1 算法描写叙述

          1.将被开立方数的整数部分从个位起向左每三位分为一组;

          2.依据最左边一组。求得立方根的最高位数;

          3.用第一组数减去立方根最高位数的立方,在其右边写上第二组数。

         4.用求得的最高位数的平方的300倍试除上述余数,得出试商。

         5.把求得的最高位数的平方的300倍与试商的积、求得的最高位数的30倍与试商的平方的积和试商的立方写在竖式左边。观察其和是否大于余数,若大于,就减小试商再试。若不大于,试商就是立方根的第二位数。

         6.用相同的方法,继续求立方根的其它各位上的数。

    对新试商的检验亦如前法。



    3.2 举例



    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    WPF:linq
    WPF:ListView数据绑定及Style
    WPF: DatePicker
    多线程16--单例--懒汉模式和静态内部类形
    多线程15--线程本地变量ThreadLocal
    多线程14---模拟消息队列
    多线程13--多线程并发购票--低效的线程安全的车票容器
    多线程10--线程间实时通信--耗性能的轮询
    自定义video的controls(播放暂停按钮、进度条、快进快退等)
    js+css 写出 简单2048游戏
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4887285.html
Copyright © 2011-2022 走看看