Course of Raku / Essentials / Numbers / Exercises / Class desks
Solution: Class desks
The solution to the problem is shown below.
Code
my $students = 23;
my $desks = $students div 2 + $students % 2;
say "$desks desks must be bought.";
🦋 You can find the full code in the file class-desks.raku.
Output
Run the program at least twice trying both odd and even number of students. For example, for the input numbers 23
and 24
, the program prints the same result:
$ raku exercises/numbers/class-desks.raku
12 desks must be bought.
Comments
It is not enough just to divide the number of students by two. It is important to handle both odd and even numbers. One of the possible solutions to round the number up: $students div 2 + $students % 2
. When the number of students is even, the second component is zero, and the result is equal to half of the number of students. But when the number of students is odd, the first component is still an integer number due to div
instead of /
, and the second term of the expression adds an extra desk.
Next exercise
Course navigation
← Strings / String length | Boolean type →
Translations of this page: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська