Написать функцию, которая принимает любое число и возвращает сумму первого и последнего числа
Всех приветствую.
Есть такая задача: надо написать функцию, которая принимает на вход любое целочисленное число, а на выходе возвращает сумму первого и последнего числа. Иными словами, если на входе 1234, необходимо, чтобы программа нашла первое число (в нашем случае это 1) и последнее (4) и в итоге сложила эти два числа. Вот что я написал, но как я уже понял ошибка в оформлении int First и int Last. Не могу найти ответ и понять как правильно описать условия, чтобы выдавало что нужно. Заранее спасибо всем за подсказки и ответы.
int SumOfFirstAndLast(int Number) {
while (Number >= 10) {
Number /= 10;
}
int First = Number % 10;
int Last = Number % 10 + Number;
return First + Last;
}
Ответы (2 шт):
- Поздно считать последнюю цифру когда ты уже испортил число.
- Сложение есть в
return, а другое - лишнее. - Ну отладчик же существует.
- https://ru.stackoverflow.com/a/453060/178988
Рассмотрим на входном примере: 1234
Нам нужно, чтобы функция вернула 1 + 4 = 5
Не торопимся сразу портить входное значения, а получим сначала последнюю цифру при помощи деления с остатком на 10.
int Last = Number % 10 <-> int Last = 1234 % 10 = 4
Теперь нам надо получить первую цифру, для этого нужно избавится от трех последних цифр при помощи деления на 10.
С циклом вы сделали все правильно, он должен делить число на 10, пока >= 10.
Number = 1234 / 10 = 123 -> 123 / 10 = 12 -> 12 / 10 = 1
Получаем int First = Number <-> int First = 1
Возвращаем результат: return First + Last <-> return 1 + 4 <-> return 5