We will get the tens and ones digits from a two-digit integer and write until the calculation result is output.

--Practice --Problem --Answer (commentary) --Another solution (digits method) --Another solution (divmod method)

--Summary

--References

Write a program that adds ** addition and multiplication results ** of ** 10's and 1's ** numbers from a two-digit integer and outputs it.

`answer`

```
def addition(a, b)
a + b
end
#Multiplication of tens and ones
def multiplication(a, b)
a * b
end
def check_num(num)
tens_place = (num / 10) % 10 #The remainder is calculated after dividing the tens digit by 10 to make it one digit.
ones_place = num % 10 #The remainder when divided by 10 is the 1st place
addition_result = addition(tens_place, ones_place) #Add with the addition method
multiplication_result = multiplication(tens_place, ones_place) #Multiply with multiplication method
p "The sum of the result of addition and the result of multiplication is#{ addition_result + multiplication_result }is."
end
#Enter in the terminal
p 'Please enter a two digit integer'
num = gets.to_i
#Method call
check_num(num)
```

The rewritten part is where ** 10's place and 1's place are calculated **. The reason for specifying `2`

in the argument of` digits.take`

is that we are getting two values, the ones digit and the tens digit. Note that when you get it with `digits.take`

, you get it in order from` 1's place`

.

`digits`

```
def addition(a, b)
a + b
end
def multiplication(a, b)
a * b
end
def check_num(num)
ones_place, tens_place = num.digits.take(2) #Get 1st and 10th place
addition_result = addition(tens_place, ones_place)
multiplication_result = multiplication(tens_place, ones_place)
p "The sum of the result of addition and the result of multiplication is#{ addition_result + multiplication_result }is."
end
p 'Please enter a two digit integer'
num = gets.to_i
check_num(num)
```

The rewritten part is where ** 10's place and 1's place are calculated **. By specifying a numerical value in the argument of `divmod`

(` 10`

in this case), you can get the quotient and remainder when divided.

`divmod`

```
def addition(a, b)
a + b
end
def multiplication(a, b)
a * b
end
def check_num(num)
tens_place, ones_place = num.divmod(10) #Get 1st and 10th place
addition_result = addition(tens_place, ones_place)
multiplication_result = multiplication(tens_place, ones_place)
p "The sum of the result of addition and the result of multiplication is#{ addition_result + multiplication_result }is."
end
p 'Please enter a two digit integer'
num = gets.to_i
check_num(num)
```

――The tens place is the remainder of dividing a two-digit integer by 10 and then dividing by 10. ――The ones digit is the remainder of dividing a two-digit integer by 10. --By using the digits method, you can get the numbers in order from the 1st place.

-Ruby 2.7.0 Reference Manual (digits) -Ruby 2.7.0 Reference Manual (divmod) -Get tens and ones digits from two digits -Find the quotient and remainder of division at once

Recommended Posts