🙌

【PHP】 1から100までの和(合計)を出力するプログラムを出来るだけアレンジして書いてみる

2021/03/07に公開

プログラミングを上達するコツの一つといえば、同じ処理でも複数の書き方を覚えることだと思う。
ということで色々書いてみる。

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);
?>

6, 考え中

Discussion