С++ Помогите насчёт решения задачи

Печенюшкин Денис очень любит физику, и сейчас на уроке он проходил вместе с учителем тему “Электричество”.

Однажды учитель физики Игорь Байтович дал Денису задачу: перед Печенюшкиным выставлено n лампочек в ряд (изначально все выключенные). Лампочки пронумерованы по порядку, начиная с первого и до n. Потом n раз Игорь Байтович делал одну операцию с лампочками – он переключал все лампочки, номер которых кратный i, где i – номер текущей операции(смотрите Примечания).

Денису нужно было сосчитать сколько лампочек после всех n операций будут включёнными. Он справился с этой задачей, а сможете ли вы найти ответ?

Формат ввода В единственной строке находится одно положительное число n (0 < n ≤ 1018) – количество лампочек и операций над ними.

Формат вывода В единственной строке выведите одно положительное число – количество включённых лампочек после всех операций.

Пример 1 Ввод Вывод 5 2 Пример 2 Ввод Вывод 9 3 Примечания Разберём первый пример (n=5)

Промоделируем все n операций:

1.1 1 1 1 1 (1 – лампочка включена, 0-лампочка выключена) i=1,включаются все лампочки

2.1 0 1 0 1 i=2, все лампочки с чётными номера выключаются

3.1 0 0 0 1 i=3, все лампочки, номера которых кратные трём переключаются

4.1 0 0 1 1 i=4, все лампочки, номера которых кратные 4 переключаются

5.1 0 0 1 0 i=5, выключается лампочка, номер которой кратен


Ответы (1 шт):

Автор решения: Harry

Если не ошибаюсь, то это просто

введите сюда описание изображения

→ Ссылка