Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на Turbo Basic > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
Manager
Благодарю, если кто поможет с решением ) знакомая попросила ))

Даны натуральные числа n, А , ... Аn. Определить количество членов последовательности A1...An удоволетворяющих условию 2^k<Ak<k!
Inspektor
проблема в том, что этот язык никто не знает или в составлении алгоритма? В алгоритме можно выделить только нахождение 2^k, его надо сдвигом влево на k позиций находить. А языки они вроде все похожи...
Julia
Что такое "сдвиг влево на k позиций"?
Inspektor
компьютер работает с двоичными данными, т.е. число 7 он представляет как 111, а 8 как 1000. Сдвиг влево эквивалентен умножению на основание системы счисления(вправо соответственно делению). Было число 111, сдвинули его на позицию влево- 1110, а теперь 2 раза вправо- 11. В паскале сдвиги делаются стандартными операторами shl (влево) и shr (вправо), в сях ещё проще, там >> и <<.
Соответственно 2^k- это 1 shl k.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.