[ruby-list:50947] Re: 整数同士の乗数を求めるとComplexになるのはなぜでしょうか
From:
"H.Hiro" <main@...>
Date:
2022-05-20 09:55:05 UTC
List:
ruby-list #50947
下田様 H.Hiroです。 プログラムで途中の変数の値が表示されるようにして試したりすると、正の整数であるべきものが負の整数になっていたり分数になっていたりして、おかしな結果になっているものと思われます。確認いただければと思います。 なおComplex(複素数)が現れる理由ですが、「負の数の~乗」を計算すると複素数になる場合があります。 2022年5月20日(金) 17:04 Jun'ya Shimoda <junshimo2@gmail.com>: > > 下田と申します。 > 今、確実に素数を求めるプログラムを作ろうと頑張ってます。 > 添付ファイルがプログラムです。 > > ruby ./mk_prime.rb > で実行すると > 「3は素数 > 322828857/40353607は素数 > ./mk_prime.rb:37:in `to_i': can't convert > 1.00000017346654+7.785160984669524e-08i into Integer (RangeError)]」 > > というエラーになるんです。 > 整数しか扱ってないプログラムなのに > Complexになる理由が分かりません。 > > よろしくお願いします。 > -- H.Hiro / Maraigue http://hhiro.net/about/ main@hhiro.net