Постављање групе битова на 1
vreme | memorija | ulaz | izlaz |
---|---|---|---|
1 s | 64 Mb | standardni izlaz | standardni ulaz |
Написати програм који за дате бројеве \(a\), \(p\), \(n\), поставља \(n\) узастопних битова броја \(a\) на 1, почевши од позиције \(p\). Позиције се (у овом задатку) броје од 1 слева.
Улаз
У првој линији стандардног улаза се налази ненегативан цео број \(a\), мањи од \(2^{64}\). У другој линији је цео број \(p\), такав да \(1 \leq p \leq 64\). У трећој линији је природан број \(n\), такав да \(p + n \leq 65\).
Излаз
На стандардни излаз исписати један ненегативан цео број, број који се добија када се у броју \(a\) назначена група битова замени јединицама.
Пример
Улаз
300 48 6
Излаз
129324
Објашњење
Бинарни запис броја 300 је 100101100
. На следећој шеми
дат је 64-битни запис броја 300 са означеним бројањем позиција. Позиције
поменуте групе од 6 битова су маркиране знацима X
. На крају
је дат 64-битни запис резултата.
p = 48 1 10 20 30 40 | 50 60 64 | | | | | | | | | 0000000000000000000000000000000000000000000000000000000100101100 XXXXXX 0000000000000000000000000000000000000000000000011111100100101100
Вредност бинарног записа 11111100100101100
једнака је
129324.
Morate biti ulogovani kako biste poslali zadatak na evaluaciju.