ルート計算の処理方法での質問

 投稿者:GAI  投稿日:2012年 5月21日(月)12時56分44秒
  計算の中で√の処理がどのようになされているのでしょうか?
例えば(1+√2)^3
を求めたいときに、プログラムで
let w=(1+sqr(2))^3
print w
end

とやれば、14.0710678118655
と数値で返ってきます。

ここを7+5√2
で結果が欲しい時は、プログラム的にどのようにしておけばよいのか教えて下さい。
 

Re: ルート計算の処理方法での質問

 投稿者:山中和義  投稿日:2012年 5月21日(月)13時39分15秒
  > No.1880[元記事へ]

GAIさんへのお返事です。

> 計算の中で√の処理がどのようになされているのでしょうか?
> 例えば(1+√2)^3
> を求めたいときに、プログラムで
> let w=(1+sqr(2))^3
> print w
> end
>
> とやれば、14.0710678118655
> と数値で返ってきます。
>
> ここを7+5√2
> で結果が欲しい時は、プログラム的にどのようにしておけばよいのか教えて下さい。

この形なら、二項展開すれば数式処理が可能だと思います。


!(a+√b)^n、nは自然数 を展開する

LET a=1 !a
LET b=2 !√b
LET n=3

LET P=0 !aの係数
LET Q=0 !√bの係数
FOR k=0 TO n !二項展開する
   IF MOD(k,2)=0 THEN
      LET P=P+COMB(n,k)*a^(n-k)*b^(k/2) !aの係数
   ELSE
      LET Q=Q+COMB(n,k)*a^(n-k)*b^((k-1)/2) !√bの係数
   END IF
NEXT k

PRINT P;"+";Q;"√";b !結果を表示する

END
 

戻る