概要
0オリジンのインデックスの掛け算のやり方を知らなかったので調べました。
やり方
下記の0オリジンの配列を例にして説明します。
array = [1,2,3,4]
足し算
- インデックスの数値にただ足すだけ
例: インデックス0にプラス2をするとき
index = 0
index = index + 2
# インデックス0にある要素1から2つ進んだ箇所にある3を返却する
puts array[index]
=> 3
引き算
- インデックスの数値からただ引くだけ
例: インデックス2から1を引くとき
index = 2
index = index - 1
# インデックス2にある要素3から1つ戻った箇所にある2を返却する
puts array[index]
=> 2
掛け算
- インデックスの数値に1を足して掛け算をし、その結果から1を引く
例: インデックス0に2を掛けるとき
index = 0
index = (index + 1) * 2 - 1
# インデックス0にある要素1、つまり1オリジンで考えると1番目に2を掛けて得られる2番目の要素2を返却する
puts array[index]
=> 2
割り算
- インデックスの数値に1を足して割り算をし、その結果から1を引く
例: インデックス3に2で割るとき
index = 3
index = (index + 1) / 2 - 1
# インデックス3にある要素4、つまり1オリジンで考えると4番目を2で割って得られる2番目の要素2を返却する
puts array[index]
=> 2
終わりに
もし間違っていたら遠慮なく教えてもらえればと思います。