何カ月か前に書いてました
しかーし!しばらく放っておいたら何書いてるかわからんw
とりあえず載せますが
更に改良してる版もあり
未完成版ですが
コレ載せるとまたやる気出るかもってかんじでよろしく!
use strict; use warnings; #expression:式 my $expression=3; my $ret01=&in_calc(0,1); my $ret02=&in_calc($ret01,0.1); my $ret03=&in_calc($ret02,0.01); my $ret04=&in_calc($ret03,0.001); my $ret05=&in_calc($ret04,0.0001); my $ret06=&in_calc($ret05,0.00001); my $ret07=&in_calc($ret06,0.000001); sub get_mul{ # これ以下で大きい数値 my $exp01=$_[0]; # 計算の単位 my $unit01=$_[1]; # 返り値用 1:大きい 0:等しい -1:小さい my $is_big=0; my $cmp=$unit01*$unit01; if ($exp01>$cmp){ $is_big=1; } elsif ($exp01==$cmp){ $is_big=0; } else { $is_big=-1; } $is_big } sub in_calc{ # 計算結果を入れる my $exp01=$_[0]; # 計算の単位 my $unit01=$_[1]; # 返り値用 my $ans01=0; # 乗算の基 my @for_mul; for (0..9){ $for_mul[$_]=$exp01+($_*$unit01); } # 乗算の基を2乗 my @of_mul; for (0..9){ $of_mul[$_]=$for_mul[$_]*$for_mul[$_]; print "i:$for_mul[$_]:i*i:$of_mul[$_]\n"; } # X以下で大きい数値を求める for (0..9){ if ($of_mul[$_]<=$expression){ $ans01=$for_mul[$_]; } } print "解の候補:$ans01\n"; $ans01; } |