diff options
Diffstat (limited to '11933')
| -rw-r--r-- | 11933/in | 16 | ||||
| -rw-r--r-- | 11933/split.c | 34 |
2 files changed, 50 insertions, 0 deletions
diff --git a/11933/in b/11933/in new file mode 100644 index 0000000..40e7ef2 --- /dev/null +++ b/11933/in @@ -0,0 +1,16 @@ +55 +44 +83 +59 +42 +34 +51 +18 +117 +121 +77 +7 +23 +90 +54 +0 diff --git a/11933/split.c b/11933/split.c new file mode 100644 index 0000000..21763e9 --- /dev/null +++ b/11933/split.c @@ -0,0 +1,34 @@ +#include <stdio.h> + +int main(){ + int in; + scanf("%d", &in); + while(in>0){ + int len, temp=in, i; + int a=0, b=0, curr_bit=0; + + for(len=0; temp!=0; len++) + temp>>=1; + + for(i=0; i<len; i++){ + if(in & (1 << i)){ + if(curr_bit==0){ + a |= (1 << i); + b |= (0 << i); + } + else{ + b |= (1 << i); + a |= (0 << i); + } + curr_bit+=1; + curr_bit%=2; + } + else{ + a |= (0 << i); + b |= (0 << i); + } + } + printf("%d %d\n", a, b); + scanf("%d", &in); + } +} |
