LoginSignup
0
0

More than 3 years have passed since last update.

3桁の整数の百、十、一の位の和を出す

Posted at

課題 3桁の整数がある時、百の位、十の位、一の位の和を求める

回答

doriru.rb
def total_num(num)
  total = (num/100 %10) + (num/10 %10) + (num %10)
   puts total
end

total_num(123) 

解説

ここから私なりの理解した内容を記述していきたいと思います。
まず百の位、十の位、一の位を取り出すやり方で共通しているのは%10する時は取り出したい位で割っていることだと思いました。
どういうことかと言いますと、例えば百の位のとき分母を100にして割ると

123/100 = 1.23
1.23 %10 = 1

となり、小数点以下は切り捨てられるので残った数字に%10すると百の位である1が取り出せました。
次に十の位のとき分母を10にして割ると

123/10 = 12.3
12.3 %10 = 2

となり、小数点以下は切り捨てられて残った数字で%10すると十の位である2が取り出せました。
最後に一の位ですが、分母は1になるのでそのまま%10します。

123 %10 = 3

最終的な余りが3なのでこちらが出力されます。
あとは出力した値を足していけば3桁の整数の百の位、十の位、一の位を足した結果が出力されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0