#include <stdio.h>
void fill_memrey(char* start, char val, int count)
{
char* end = start + count;
char *c= start;
while(c < end)
{
*c++ = val; //this linen is in c++
}
}
int get_length_of_strign(char* string)
{
int lenght = 0;
while(*string != 0)
{
lenght++;
string++;
}
return lenght;
}
void add_character_to_end_of_string(char* string, char character)
{
string[get_length_of_strign(string)] = character;
}
void reverse_string(char* s)
{
int l = get_length_of_strign(s), i;
char c;
for(i = 0; i < l/2; ++i)
{
c = s[i];
s[i] = s[l-i-1];
s[l-i-1] = c;
}
}
void printBinary(int n){
int k;
char out[33];
fill_memrey(out, 0, 33);
for(k=0;k<32;k++){
if (n & (1<<k))
add_character_to_end_of_string(out, '1');
else
add_character_to_end_of_string(out, '0');
}
reverse_string(out);
}
int main(void) {
unsigned int f = 1, i = 1;
while(1)
{
f *= i;
printBinary(f);
if(f == 0){
break;
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGZpbGxfbWVtcmV5KGNoYXIqIHN0YXJ0LCBjaGFyIHZhbCwgaW50IGNvdW50KQp7CgljaGFyKiBlbmQgPSBzdGFydCArIGNvdW50OwoJY2hhciAqYz0gc3RhcnQ7Cgl3aGlsZShjIDwgZW5kKQoJewoJCSpjKysgPSB2YWw7IC8vdGhpcyBsaW5lbiBpcyBpbiBjKysKCX0KfQoKaW50IGdldF9sZW5ndGhfb2Zfc3RyaWduKGNoYXIqIHN0cmluZykKewoJaW50IGxlbmdodCA9IDA7Cgl3aGlsZSgqc3RyaW5nICE9IDApCgl7CgkJbGVuZ2h0Kys7CgkJc3RyaW5nKys7Cgl9CglyZXR1cm4gbGVuZ2h0Owp9Cgp2b2lkIGFkZF9jaGFyYWN0ZXJfdG9fZW5kX29mX3N0cmluZyhjaGFyKiBzdHJpbmcsIGNoYXIgY2hhcmFjdGVyKQp7CglzdHJpbmdbZ2V0X2xlbmd0aF9vZl9zdHJpZ24oc3RyaW5nKV0gPSBjaGFyYWN0ZXI7Cn0KCnZvaWQgcmV2ZXJzZV9zdHJpbmcoY2hhciogcykKewoJaW50IGwgPSBnZXRfbGVuZ3RoX29mX3N0cmlnbihzKSwgaTsKCWNoYXIgYzsKCWZvcihpID0gMDsgaSA8IGwvMjsgKytpKQoJewoJCWMgPSBzW2ldOwoJCXNbaV0gPSBzW2wtaS0xXTsKCQlzW2wtaS0xXSA9IGM7Cgl9Cn0KCnZvaWQgcHJpbnRCaW5hcnkoaW50IG4pewoJaW50IGs7CgljaGFyIG91dFszM107CglmaWxsX21lbXJleShvdXQsIDAsIDMzKTsKCWZvcihrPTA7azwzMjtrKyspewoJICAgIGlmIChuICYgKDE8PGspKQoJICAgICAgICBhZGRfY2hhcmFjdGVyX3RvX2VuZF9vZl9zdHJpbmcob3V0LCAnMScpOwoJICAgIGVsc2UKCSAgICAgICAgYWRkX2NoYXJhY3Rlcl90b19lbmRfb2Zfc3RyaW5nKG91dCwgJzAnKTsKCX0KCXJldmVyc2Vfc3RyaW5nKG91dCk7CglwcmludGYoIiVzIiwgb3V0KTsKfQoKaW50IG1haW4odm9pZCkgewoJdW5zaWduZWQgaW50IGYgPSAxLCBpID0gMTsKCXdoaWxlKDEpCgl7CgkJZiAqPSBpOwoJCXByaW50ZigiJTAyZCE6ICIsIGkrKyk7CgkJcHJpbnRCaW5hcnkoZik7CgkJcHJpbnRmKCJcbiIpOwoJCWlmKGYgPT0gMCl7CgkJCWJyZWFrOwoJCX0KCX0KCXJldHVybiAwOwp9