中华农历论坛知识讨论区历法知识 → [推荐]用迭代法求整次方根汉编源程序


  共有12854人关注过本帖平板打印

主题:[推荐]用迭代法求整次方根汉编源程序

帅哥哟,离线,有人找我吗?
秦汉昌
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
[推荐]用迭代法求整次方根汉编源程序  发帖心情 Post By:2009/10/31 2:44:00

[推荐]整次方根★根据空谷白蛇所编代码修改而成[苏子琼汉语编程论坛]
http://bbs.suziqiong.cn/bbs/dispbbs.asp?boardid=49&id=293&page=1&star=1

 

【自定义词★根据空谷白蛇所编代码修改而成
 

编 精确度  ( --- <小数位长度的浮点数> )
   1.0 小数位长度  0 循环 10.0  /  回环 。


编 整次方    (  底数 指数 --- 幂 )
 ↑↓ ♂ 属性值 0=
  就    数>实  
  然后   ↑↓  双♂  1.0  ↑↓  绝对值  1+   1 
       ?循环   ∽   *   
        回环   ↑↓♀   ↑↓  0<
  就    1.0  ↑↓ /   ↑↓♀
  否则  ↑↓♀
  然后
  。
       

编 整次方根   (  a n --- 根x 是否存在两根的标志  )                            \  已知a,整数n,用公式①迭代法求x^n=a的立方根x
↑↓  ♂  属性值 0= 就 数>实 然后  ↑↓
 ∽ ∽                                                  \  这两个符号是把提供的两个数 留底 以便乘方验证使用。不做验证则取消此行
 双♂ 2 求余数 0= ↑↓ 0<  与
 就    回车 显" 无解的参数,负数没有偶次方根"  全复位
 否则  ∽  0.0 =
 就   双♀  0.0   
 否则  绝对值    ♂ 0 =                                    \  0 1 2 三种情况要考虑,先0
 就    ♀ ♀ 1.0                                       
 否则  ♂ 1 =                                            \  0 1 2 三种情况要考虑,再1
 就   ♀       
 否则 ♂ 2 =                                             \  0 1 2 三种情况要考虑,后2
 就   ♀  ♂ 0.0 <
      就 全复位
      然后 1.0                 
      环首 ♂ 2 § ∽ / + 2.0 / ♂ ∵ - 绝对值 .0001 <
      就出来 ↑↓♀
 否则 ♂ 1 -                                          ( 数摞变为:a n a n n-1 )
      1.0                                            ( 数摞变为:a n a n n-1 x0 )          \   迭代初值为x0=1.0
      环首   ♂ 2 § 1 循环 ∽ * 回环                    ( 数摞变为:a n a n n-1 x0 x0^[m-1]  )
            ∽ ∽ *                                   ( 数摞变为:a n a n n-1 x0 x0^[m-1] x0^n )
            3 § ♂ 属性值 0= 就 数>实 然后 * 5 § +       ( 数摞变为:a n a n n-1 x0 x0^[m-1] [n-1]*Xk^n+a )
           ↑↓ 4 § ♂ 属性值 0= 就 数>实 然后 * /        ( 数摞变为:a n a n n-1 x0 x1  )     \  x1=[〔n-1)*Xk^n+a]/[n*x0^(m-1)]
           ↑↓ ∽ - 绝对值 精确度 <                     ( 数摞变为:a n a n n-1 x1 真或假 )     \ 使用0.0 = 也可以
     就出来 ↑↓♀ ↑↓♀ ↑↓♀                          ( 数摞变为:a n  x1 )
    
 然后
 然后
 然后
 然后
 然后  ∽  0<                                          ( 数摞变为:a n a n n-1 x1 真或假 )
      就    1.0  ↑↓ /                                ( 数摞变为:a n  x1或1/x1 )
      然后  ∴  ∽ 3 § ↑↓∽   整次方  ↑↓  0=          ( 数摞变为:n  x1或1/x1 a a1 真或假 )   \  a1为验证幂
      就   ♀  ↑↓♀  0 
      否则  - 绝对值 精确度 > 
      然后                                            ( 数摞变为:n  x1或1/x1  真或假 )
      就  显" 程序错误,请调试好再应用" 
      否则  ↑↓ 2 求余数 0=
      然后                                             ( 数摞变为:x1或1/x1 真或假 )
  。

编 有负根就求负根
   就   ♂ 求补  然后
   。

((       
     测试如下:
     8 位小数
     摞初始  64  3 整次方根 看数摞
     摞初始 -64  3 整次方根 看数摞
     摞初始  64 -3 整次方根 看数摞
     摞初始 -64 -3 整次方根 看数摞
     摞初始  64  4 整次方根 看数摞
     摞初始  64  4 整次方根 有负根就求负根 看数摞 
     摞初始 -64  4 整次方根 看数摞   ))

 
 

 

 【功能介绍】
     本词可以求整次方根,考虑了正数、负数、0的正负次方根的情况
     偶次方根有正负两解,存在偶次方根的情况,在其算术根后返回真标志
     用户只需将算术根“求补”可得负根
     奇次方根只有一解,存在奇次方根的情况,在其算术根后返回假标志
     
 

【使用详解】
 格式: <开方数> <开方次数>  整次方根 

 参数:<开方数> <开方次数>

 返回:<根>   即能补开方的数的一个根

        <标志>  即是否存在两根的标志 

 

【应用举例】

    8 位小数 ★
     摞初始  64  3 整次方根 看数摞 [2] 4.00000000 0 ★..
     摞初始 -64  3 整次方根 看数摞 [2] -4.00000000 0 ★..
     摞初始  64 -3 整次方根 看数摞 [2] 0.25000000 0 ★..
     摞初始 -64 -3 整次方根 看数摞 [2] -0.25000000 0 ★..
     摞初始  64  4 整次方根 看数摞 [2] 2.82842712 -1 ★..
     摞初始  64  4 整次方根 有负根就求负根 看数摞 [2] 2.82842712 -2.82842712 ★..
     摞初始 -64  4 整次方根 看数摞
无解的参数,负数没有偶次方根

 

【注意事项】

必须注意,负数不能开偶次方,如果输入了这样的非法参数,程序会报错(无解的参数,负数没有偶次方根)。

 

【版权声明】
本词由汉编群“空谷的蛇原创,秦汉昌于2009年10月30日修改

 

 

\  /////////////★秦汉昌★2009.10.31★


[此贴子已经被作者于2009-10-31 22:33:31编辑过]

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

[推荐]用迭代法求整次方根汉编源程序








签名