Программное решение задач ЕГЭ по информатике

Задача 5721. Источник: Поляков. Задание КИМ 5

Страница задачи 5721

(А. Игнатюк) Исполнитель «Аполлон» получает на вход четырёхзначное число N и строит новое число R по следующим правилам:

  1. Если число N начинается с чётной цифры, то число R вычисляется как сумма первой и третьей цифр и модуля разности второй и четвёртой цифр.
  2. Если число N начинается с нечётной цифры, то цифры числа N располагают в неубывающем порядке. Число R вычисляется как сумма цифр в двоичной записи полученного числа.

Сколько существует чисел N, для которых результат работы алгоритма будет более 20?

Решение

Поскольку максимальное четырехзначное число занимает 14 двоичных разрядов, оно никогда не сможет дать сумму больше 20. Таким образом, второй пункт алгоритма можно игнорировать. Так же мы можем сократить диапазон анализируемых чисел до 2000-8999. Число на разряды разбиваем операциями целочисленного деления.

Python

k = 0
for n in range(2000, 9000):
    if n // 1000 % 2 == 0:
        r = n // 1000 + n // 10 % 10 + abs(n // 100 % 10 - n % 10)
        if r > 20:
            k += 1
print(k)

PascalABC

var
    n, r, k: Integer;
begin
    k := 0;
    for n := 2000 to 8999 do
        if n div 1000 mod 2 = 0 then
        begin
            r := n div 1000 + n div 10 mod 10 + abs(n div 100 mod 10 - n mod 10);
            if r > 20 then
                k := k + 1;
        end;
    Writeln(k);
end.

C++

#include <iostream>
using namespace std;
int main()
{
    int k = 0;
    for (int n = 2000; n < 9000; n++)
        if (n / 1000 % 2 == 0)
        {
            int r = n / 1000 + n / 10 % 10 + abs(n / 100 % 10 - n % 10);
            if (r > 20)
                k++;
        }
    cout << k << endl;
}

Ответ

160

Отправить замечание по решению

Код по которому имеется замечание:

Ваш вариант кода:

Комментарий: