Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdint.h>
- #ifndef DEBUG
- #define DEBUG(...) printf(__VA_ARGS__)
- #endif
- void print_binary(uint32_t b, int n) {
- uint32_t p = (1 << (n - 1));
- while(p != 0) {
- printf("%d",b & p ? 1 : 0);
- p >>= 1;
- }
- printf("\n");
- }
- uint32_t create_bitmask(int n) {
- uint32_t mask = 0;
- for (int i = 0; i < n; i++) {
- mask <<= 1;
- mask |= 1;
- }
- return mask;
- }
- uint32_t reverse_binary(uint32_t input, int n) {
- uint32_t output = 0;
- for (int i = 0; i < n; i++) {
- output <<= 1;
- output |= input & 0x01;
- input >>= 1;
- }
- return output;
- }
- int main() {
- uint32_t bin = 0;
- int n, k;
- scanf("%d %d", &n, &k);
- uint32_t half_mask = create_bitmask((n >> 1));
- uint32_t mask = create_bitmask(n);
- // Implementirajte modalitet rada sukladno uputama
- for (int i = 0; i < k - 1; ++i)
- {
- bin >>= 1;
- if (bin == 0){
- bin = 1 << (n/2 - 1);
- }
- }
- bin |= reverse_binary(bin, n);
- print_binary(bin, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement