🙌
【PHP】 1から100までの和(合計)を出力するプログラムを出来るだけアレンジして書いてみる
プログラミングを上達するコツの一つといえば、同じ処理でも複数の書き方を覚えることだと思う。
ということで色々書いてみる。
1, forループを使う
<?php
$start = 1;
$end = 100;
$total = 0;
for($i=$start;$i<=$end;$i++){
$total += $i;
}
echo $total; //5050
?>
2, whileループを使う
<?php
$start = 1;
$end = 100;
$total = 0;
while($start <= $end){
$total += $start;
$start++;
}
echo $total; //5050
?>
3, 和の公式を使う
高校で習う等差数列の和を使う
<?php
$start = 1;
$end = 100;
$total = 0;
echo $end * ($end + 1) / 2; //5050
?>
4, 再帰関数を使う
(100までの合計を求める関数) = 100 + (99までの合計を求める関数) と分かれば書ける
<?php
echo sum(100);
function sum($num){
if( $num > 1 ){
return sum($num-1)+$num;
}else {
return 1;
}
}
?>
5, range()とarray_sum()を使う
range()で1から100までの配列を作成し、array_sum()で配列の全部の数字の合計を出す。一番簡単な方法かな
<?php
$arr = range(1, 100);
echo array_sum($arr);
?>
Discussion