Manager
Сообщение
#24967 24.12.2008, 13:03
Благодарю, если кто поможет с решением ) знакомая попросила ))
Даны натуральные числа n, А , ... Аn. Определить количество членов последовательности A1...An удоволетворяющих условию 2^k<Ak<k!
Inspektor
Сообщение
#25428 27.12.2008, 22:34
проблема в том, что этот язык никто не знает или в составлении алгоритма? В алгоритме можно выделить только нахождение 2^k, его надо сдвигом влево на k позиций находить. А языки они вроде все похожи...
Julia
Сообщение
#25717 31.12.2008, 8:02
Что такое "сдвиг влево на k позиций"?
Inspektor
Сообщение
#25725 31.12.2008, 16:02
компьютер работает с двоичными данными, т.е. число 7 он представляет как 111, а 8 как 1000. Сдвиг влево эквивалентен умножению на основание системы счисления(вправо соответственно делению). Было число 111, сдвинули его на позицию влево- 1110, а теперь 2 раза вправо- 11. В паскале сдвиги делаются стандартными операторами shl (влево) и shr (вправо), в сях ещё проще, там >> и <<.
Соответственно 2^k- это 1 shl k.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.