Вопрос по информатике:
Сегодня в школе на уроке математике проходят делимость. Чтобы продемонстрировать свойства делимости, учитель выписал на доске все целые числа от 1 до N в несколько групп, при этом если одно число делится на другое, то они обязательно оказались в разных группах. Например, если взять N=10, то получится 4 группы.
Первая группа: 1.
Вторая группа: 2, 7, 9.
Третья группа: 3, 4, 10.
Четвертая группа: 5,6, 8.
Вы уже догадались, что, поскольку любое число делится на 1, одна группа всегда будет состоять только из числа 1, но в остальном подобное разбиение можно выполнить различными способами. От вас потребуется определить минимальное число групп, на которое можно разбить все числа от 1 до N в соответствии с приведенным выше условием.
Программа получает на вход одно натуральное число N, не превосходящее 10^9, и должна вывести одно число - искомое минимальное количество групп.
Ввод: 10
Вывод: 4
- 23.06.2015 12:31
- Информатика
- remove_red_eye 16376
- thumb_up 48
Ответы и объяснения 1
# Код на ruby 2.2.3p173
a = []
a << [1]
for i in 2..10001
f = 0
a.each
m = 1
group.each
m *= i % c
f += m
if m > 0
group << i
break
end
a << [i] if f == 0
end
p a
p a.size
- 24.06.2015 03:46
- thumb_up 37
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.