平方根の近似整数

Top > Root2 > isqrt

Pell方程式
連分数
漸化式
漸化式と連分数との関係
Secant法
Steffensen法
Newton法
高次の方法1
高次の方法2
こつこつアルゴリズム
平方根の近似整数

平方根の近似整数

に限らず、正の実数の平方根を漸化式で求めるにあたり、適切な初期値からはじめる必要があります。ここでは、そのための手順を示すことにします。C言語では、次のようになります。

int isqrt(double a)
{
  int i;

  a /= 2;
  for(i = 1; a > 0; i++) a -= i;

  return i - 1;
}

十進BASICでは、次のようになります。1から100までの平方根の近似整数を表示します。

C:\BASICprograms\isqrt.BAS

   1: ! 0から100までの数の、平方根の近似整数と平方根を表示する。
   2: OPTION ARITHMETIC DECIMAL
   3: DECLARE EXTERNAL FUNCTION isqrt
   4: 
   5: PRINT "   n   isqrt(n)  SQR(n)"
   6: FOR a = 0 TO 100
   7:    PRINT USING " ###     ##    --%.##############": a, isqrt(a), SQR(a)
   8: NEXT a
   9:  
  10: END
  11: 
  12: ! 平方根の近似整数を求める外部関数
  13: EXTERNAL FUNCTION isqrt(a)
  14: LET i = 1
  15: LET a = a / 2
  16: DO WHILE a > 0
  17:    LET a = a - i
  18:    LET i = i + 1
  19: LOOP
  20: LET isqrt = i - 1
  21: END FUNCTION