Найти сумму цифр ab + cd числа abcd

Задача

Вводится четырёхзначное число (abcd). Вывести сумму ab + cd.

Решение

В данном случае проще обойтись без цикла, т.к. известна разрядность числа.

  1. Для извлечения цифры из старшего разряда, надо число нацело поделить на 1000. (Или найти остаток от деления на 10000.)
  2. Для извлечения второго (по старшенству) разряда, сначала делим число на 100, далее избавляемся от первого разряда, найдя остаток от деления на 10.
  3. Третья цифра извлекается также как вторая за исключением того, что делить нацено надо на 10.
  4. Четвертая (последняя) цифра извлекается как остаток от деления исходного числа на 10.
Программа на языке Паскаль:
var
    n, a, b, c, d: integer;
begin
    readln(n); // for example 8123
    a := n div 1000; // 8
    b := (n div 100) mod 10; // 81 mod 10 = 1
    c := (n div 10) mod 10; // 812 mod 10 = 2
    d := n mod 10; // 3;
    writeln('ab+cd=',a*b,'+',c*d,'=', a*b+c*d);
 
readln;
end.

 

Тема

Линейные алгоритмы

Уровень

Комбинированные задачи