Задача Делимость
Подготовка к олимпиаде по информатике:
Задача Делимость.
Сегодня в школе на уроке математики проходят делимость. Чтобы продемонстрировать свойства делимости, учитель выписал на доске все целые числа от 1 до N в несколько групп, при этом если одно число делится на другое, то они обязательно оказались в разных группах. Например, если взять N = 10, то получится 4 группы.
Первая группа: 1
Вторая группа: 2, 7, 9
Третья группа: 3, 4, 10
Четвёртая группа: 5, 6, 8
Вы уже догадались, что, поскольку любое число делится на 1, одна группа всегда будет состоять только из числа 1, но в остальном подобное разбиение можно выполнить различными способами. От вас требуется определить минимальное число групп, на которое можно разбить все числа от 1 до N в соответствии с приведённым выше условием.
Программа получает на вход одно натуральное число N, не превосходящее 109, и должна вывести одно число – искомое минимальное количество групп.
Пример входных и выходных данных
1 2 3 4 5 6 7 8 9 10 11 |
var n,a,i:integer; begin writeln('Введите число N'); readln(n); while power(2,i)<n do begin a:=a+1; i:=i+1; end; writeln(a); end. |
©Решение предоставил Тегай Алексей
Будем благодарны, если вы поделитесь уроком со своими друзьями в социальных сетях, оставите отзыв и посмотрите другие материалы на нашем сайте.