Давайте создадим переменную s - сумму цифр числа и c - последнюю цифру, напишем такой алгоритм:
read n;
while n > 0:
s = s + n % 10;
c = n % 10;
n = n / 10;
write s, c;
В таком случае, модуль десяти будет прибавлять по последней цифре к s и записывать последнюю в c. Деление на десять откидывает последнюю цифру. Выходит, что на последнем шаге алгоритма n = 0, c - первая цифра, т.к. до этого она была последней, а в s - сумма цифр.
Реализация на паскале в файле