domtorgvl20082841
?>

Найти номер строки массива размером МхN, в котором находится наименьшее количество положительных элементов. Элементы вводятся с клавиатуры. (язык паскаль (

Информатика

Ответы

Tipan77
Итак, нужно найти число групп, в каждой из которых ни одно из чисел не делит все остальные.

Строим группы так:
(1) - 1
(2) - 2, 3, 5, 7, 11, 13... - все простые
(3) - 4, 6, 9, 10, 14, 15... - произведения двух простых 
...
(k) - произведения (k - 1) простых

И так пока не кончатся все числа. Поскольку в каждой группе наименьшее число 2^(k - 1), то k - минимальное, для которого 2^(k - 1) > N

По построению явно во всех группах ни одно число не делится на другое. Осталось проверить, что получено минимальное число групп.
Это очевидно: числа 1, 2, 4, ..., 2^(k-1) должны быть в разных группах.

Решение:
n = int(input())
t = 1
k = 0
while t <= n:
    t *= 2
    k += 1
print(k)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Найти номер строки массива размером МхN, в котором находится наименьшее количество положительных элементов. Элементы вводятся с клавиатуры. (язык паскаль (
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

sveta740450
КутузоваМартенюк
Shago
praskovya17
aerendzhenova5
murza2007
starabanov
Nataliefremova2015808
bruise6
Долбоебков_Алексей27
YekaterinaAbinskov
kostavaani
Дементьева-Артем1315
Neveselova
pavelriga5