問題
二桁以上の整数を入力すると、十の位と一の位の数字の足し算、
十の位と一の位の数字の掛け算をそれぞれ行い、
最後に2つの結果を足し合わせて出力するプログラムを
Rubyで作成してください。
sample.rb
> 二桁の整数を入力してください
> 15
# 1 + 5と 1 * 5をそれぞれ計算
> 足し算結果と掛け算結果の合計値は11です
と出力されるようにプログラミングする。
解答
def addition(a, b)
a + b
end
def multiplication(a,b)
a * b
end
def slice_num(num)
tens_place = (num / 10 ) % 10
one_place = num % 10
return tens_place, one_place
end
puts "二桁の整数を入力してください"
input = gets.to_i
X, Y = slice_num(input)
add_result = addition(X, Y)
multiple_result = multiplication(X, Y)
puts "足し算結果と掛け算結果の合計値は#{add_result + multiple_result}です"
解説
ある整数について任意の桁の数字を取り出す手順
①取り出したい数字の桁数を割る
② ①の結果をさらに10で割った余りが任意の桁の数字
例:「25」の場合
25/10 = 2.5の小数点以下の「5」が一の位となる。
その2.5から 2.5/10 = 0.25の小数点以下「2」が十の位となる。
変数を定義する前に、カンマで区切ることによって、
同時に複数の変数を定義することができる。
ちなみに割り算で商を求める時は「/」余りは「%」で計算する。