Чуваки, уже несколько дней пытаюсь решить его. Ответ: 598. Я никак не могу решить....

0 голосов
53 просмотров

Чуваки, уже несколько дней пытаюсь решить его. Ответ: 598. Я никак не могу решить. Помогите, пожалуйста


image

Информатика (69 баллов) | 53 просмотров
0

а что именно нужно сделать

Дан 1 ответ
0 голосов

Дописываем немного код для перебора и проверяем вывод
var
    x, a, b, t: longint;

begin
    for t := -1000 to 1000 do
    begin
        x := t;
        a := 0;
        b := 1;
        while x > 0 do
        begin
            if x mod 2 > 0 then
                a := a + x mod 8
            else
                b := b * (x mod 8);
            x := x div 8;
        end;
        if (a = 2) and (b = 12) then
            writeln(t);
    end;
end.
Вывод 598
626
654
689
906
913
т.е. минимальное число 598


Аналитическое решение:
имеем дело с 8ричным числом. Перебираем его цифры.
Если  цифра нечетная то сумируем ее к А, а четные перемножаем с В
В = 12 это произведение 12 = 2*6 = 3*4 = 1*12, но нужно чтоб все числа были четные потому 2*6
А = 2. 2 = 2 = 1+1 , поскольку числа нечетные, то 2 = 1+1
Значит у нас есть 4 8ричные цифры 2,6,1,1
Минимальное число которое может из них получиться 1126(8) = 598(10)     






(53.1k баллов)