Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void bits(unsigned int x)
- {
- unsigned int len = sizeof(unsigned int) * 8;
- unsigned int i;
- unsigned int bit;
- for (i = 0; i<len; i++)
- {
- bit = x >> (len-i-1) & 1;
- printf("%d", bit);
- }
- printf("\n");
- }
- unsigned int prob(unsigned int k)
- {
- unsigned int bitprev, bitcurr, bitnext,o,res;
- unsigned int len = sizeof(unsigned int) * 8;
- unsigned int i;
- res = k;
- o = 1;
- for (i = 0; i<len-2; i++)
- {
- bitprev = k >> (i) & 1;
- bitcurr = k >> (i+1) & 1;
- bitnext = k >> (i+2) & 1;
- o *= 2;
- if (bitprev == bitcurr && bitcurr == 0 && bitcurr==bitnext) res += o;
- }
- return (res);
- }
- int main(void)
- {
- unsigned int l, h;
- scanf("%ud", &l);
- bits(l);
- h = prob(l);
- printf("%d\n", h);
- bits(h);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement