#include <stdio.h>
unsigned int weirdAnd(unsigned int a, unsigned int b) {
unsigned int result = 0;
unsigned int coef = 1;
while (a && b) {
result += ((a % 10) && (b % 10)) * coef;
coef *= 10;
a /= 10;
b /= 10;
}
return result;
}
unsigned int weirdOr(unsigned int a, unsigned int b) {
unsigned int result = 0;
unsigned int coef = 1;
while (a || b) {
result += ((a % 10) || (b % 10)) * coef;
coef *= 10;
a /= 10;
b /= 10;
}
return result;
}
int main(void) {
// your code goes here
unsigned int a = 10110;
unsigned int b = 10011;
printf("%u and \n%u = \n%u\n\n", a
, b
, weirdAnd
(a
, b
)); printf("%u or \n%u = \n%u\n\n", a
, b
, weirdOr
(a
, b
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp1bnNpZ25lZCBpbnQgd2VpcmRBbmQodW5zaWduZWQgaW50IGEsIHVuc2lnbmVkIGludCBiKSB7Cgl1bnNpZ25lZCBpbnQgcmVzdWx0ID0gMDsKCXVuc2lnbmVkIGludCBjb2VmID0gMTsKCXdoaWxlIChhICYmIGIpIHsKCQlyZXN1bHQgKz0gKChhICUgMTApICYmIChiICUgMTApKSAqIGNvZWY7CgkJY29lZiAqPSAxMDsKCQlhIC89IDEwOwoJCWIgLz0gMTA7Cgl9CglyZXR1cm4gcmVzdWx0Owp9Cgp1bnNpZ25lZCBpbnQgd2VpcmRPcih1bnNpZ25lZCBpbnQgYSwgdW5zaWduZWQgaW50IGIpIHsKCXVuc2lnbmVkIGludCByZXN1bHQgPSAwOwoJdW5zaWduZWQgaW50IGNvZWYgPSAxOwoJd2hpbGUgKGEgfHwgYikgewoJCXJlc3VsdCArPSAoKGEgJSAxMCkgfHwgKGIgJSAxMCkpICogY29lZjsKCQljb2VmICo9IDEwOwoJCWEgLz0gMTA7CgkJYiAvPSAxMDsKCX0KCXJldHVybiByZXN1bHQ7Cn0KCmludCBtYWluKHZvaWQpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXVuc2lnbmVkIGludCBhID0gMTAxMTA7Cgl1bnNpZ25lZCBpbnQgYiA9IDEwMDExOwoJcHJpbnRmKCIldSBhbmQgXG4ldSA9IFxuJXVcblxuIiwgYSwgYiwgd2VpcmRBbmQoYSwgYikpOwoJcHJpbnRmKCIldSBvciAgXG4ldSA9IFxuJXVcblxuIiwgYSwgYiwgd2VpcmRPcihhLCBiKSk7CglyZXR1cm4gMDsKfQo=