#include <stdio.h>
void printNum(int num) {
if(num == 0) {
printf("0\n"); // Check for num being 0. return;
}
num = num < 0 ? num*-1 : num; // Make sure the number has no sign bit.
char first1Found = 0; // Create a check for the first 1 printed.
for (int i = sizeof(num)*8 - 1; i >= 0 ; --i) {
if (num & (1 << i)) { // If its a 1, print it and set the first1Found bool.
first1Found = 1;
} else if(first1Found) { // If its a 0 only print it if its not a leading 0.
}
}
}
int main(void) {
printNum(0);
printNum(10);
printNum(20);
printNum(1234);
printNum(117653);
// your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHByaW50TnVtKGludCBudW0pIHsKCQppZihudW0gPT0gMCkgewogICAgcHJpbnRmKCIwXG4iKTsgIC8vIENoZWNrIGZvciBudW0gYmVpbmcgMC4KICAgIHJldHVybjsKfQoKbnVtID0gbnVtIDwgMCA/IG51bSotMSA6IG51bTsgLy8gTWFrZSBzdXJlIHRoZSBudW1iZXIgaGFzIG5vIHNpZ24gYml0LiAKY2hhciBmaXJzdDFGb3VuZCA9IDA7IC8vIENyZWF0ZSBhIGNoZWNrIGZvciB0aGUgZmlyc3QgMSBwcmludGVkLgpmb3IgKGludCBpID0gc2l6ZW9mKG51bSkqOCAtIDE7IGkgPj0gMCA7IC0taSkgewogICAgaWYgKG51bSAmICgxIDw8IGkpKSB7IC8vIElmIGl0cyBhIDEsIHByaW50IGl0IGFuZCBzZXQgdGhlIGZpcnN0MUZvdW5kIGJvb2wuCiAgICAgICAgcHJpbnRmKCIxIik7CiAgICAgICAgZmlyc3QxRm91bmQgPSAxOwogICAgfSBlbHNlIGlmKGZpcnN0MUZvdW5kKSB7IC8vIElmIGl0cyBhIDAgb25seSBwcmludCBpdCBpZiBpdHMgbm90IGEgbGVhZGluZyAwLgogICAgICAgIHByaW50ZigiMCIpOwogICAgfQp9CnByaW50ZigiXG4iKTsKCgp9CgoKCmludCBtYWluKHZvaWQpIHsKCQoJcHJpbnROdW0oMCk7CglwcmludE51bSgxMCk7CglwcmludE51bSgyMCk7CglwcmludE51bSgxMjM0KTsKCXByaW50TnVtKDExNzY1Myk7CgkKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9Cg==