Barsik12847
31.01.2021 17:34

Пиксельдерді екілік кодқа сәйкес орналастыр.
1100
Артқа
В
Тексеру​


Пиксельдерді екілік кодқа сәйкес орналастыр.1100АртқаВТексеру​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
StanleyPines618
31.01.2023 04:48

Так как язык не указан, приведу пример на SWI-Prolog.

Код:

read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).
Напишите программу: С клавиатуры вводится трёхзначное число (число десятков и число единиц не равна
Напишите программу: С клавиатуры вводится трёхзначное число (число десятков и число единиц не равна
Напишите программу: С клавиатуры вводится трёхзначное число (число десятков и число единиц не равна
0,0(0 оценок)
Ответ:
Алинур13
29.09.2020 10:36
Код программы ruby
for i in "1000".to_i(8).."7777".to_i(8)
    s = i.to_s(2)
    k = 0
    s.chars.each {|c| k += 1 if c == "1"}
    if (k==5)
        p [i, i.to_s(8), s, k]
        break
    end
end

Вывод
[527, "1017", "1000001111", 5]

ответ
1017

Если решать аналитически, то наверное это делается методом подбора плюс быстрым переводом восьмеричной системы в двоичную (каждая цифра 8чной переводится в 3 цифры 2чной, можно заранее посчитать кол-во единиц для каждой). Сразу понимаем что в числах 1000-1016 будет слишком мало единиц, только "7"_8 переводится в "111"_2. И еще две единицы дают "1"_8
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота