アルゴリズム – 二つの整数の合計

問題説明

二つの整数a、bが与えられたときにaからbまでの間の全ての整数の合計を返すメソッドを作成してください。

例えば、a = 3、b = 5の場合に3 + 4 + 5 = 12になるので12を返します。

条件

  • aとbが同じ整数の場合はaかbどちらかを返します。
  • aとbは-10,000,000以上、10,000,000以下の整数です。
  • aとbの大小関係は決められていません。(aが大きいかbが大きいか決まっていない)

入出力例

解説

ループを利用
  • 4~5行:三項演算子を使ってstartIdxとendIdxをセットします。
  • 6行:スタート整数をセットします。
  • 8行:ループの初期値としてstartIdx+1をします。

Matchwををrをりをりyをりよを利用を利用
  • 4行:Match.minを使ってstartIdxを取得してセットします。
  • 5行:Match.maxを使ってendIdxを取得してセットします。
  • 6行:戻り値をセットする変数を初期化します。
  • 8~10行:ループを回しながら合計をanswerにセットします。

以下は、他の人が作成したアルゴリズムですが、ループを利用する方法以外は考えられなかったので、びっくりしました。数学公式の「等差数列の和」を利用したらしい。

等差数列の和

終わりに

アルゴリズムを勉強して数学がどれくらい性能に影響があるのかなど勉強になりました。

数学は弱いですが、数学も勉強し直さないと。。と思います。

コメントを残す