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