素人ながらフィボナッチ数列を考えていた時に、偶然にもできてしまったのですが、いまいち仕組みがわかってなくて困っています。どのようなループが行われているのか教えてくださると幸いです。
<?php $a=1; $b=0; $n=1; while($n<50){ $r=($a+$b); echo $n,":",$r,"\n"; $n=$n+1; $a=$b; $b=$r; } ?>因みに出力結果は
1:1
2:1
3:2
4:3
5:5
のように49項まで続きます。
ループ1回1回を手計算で追ってみるなどはしましたか?
はい。試してみたのですが。$a=$b,$b=$rの部分がわからず苦戦しています。
=は「代入」だということは理解していますか?
してます。
となると、「$a=$b,$b=$rの」何がわからないのでしょうか?
$aを$bにということは$r=$b+$bとなるということですよね?
そのあと$bを$rにというのは$r=$r+$rになるということですか?
それとも$r=$b+$rになるんですかね?
そこがいまいちよくわかってません。
> $aを$bにということは$r=$b+$bとなるということですよね?
違います。$a=$bで$rは変化しません。
なるほど。では$rから$bの時に$r=$a+$rという解釈であってますかね。?
違います。$b=$r;と書いても$rは変化しません。
回答2件
あなたの回答
tips
プレビュー