#include <iostream>
using namespace std;
// funkcja sprawdzająca, czy liczba jest potęgą 2
bool isPowerOfTwo(int n) {
return (n > 0) && ((n & (n - 1)) == 0);
}
int main() {
int a = 1; // licznik
int b = 16; // mianownik
// sprawdzenie, czy mianownik jest potęgą 2
if (!isPowerOfTwo(b)) {
cout << "Blad: mianownik nie jest potega liczby 2!\n";
return 0;
}
cout << "Rozwiniecie binarne 1/16 (mianownik jest potega 2): 0.";
// rozwinięcie binarne dla mianownika będącego potęgą 2
while (a > 0) {
a *= 2;
if (a >= b) {
cout << '1';
a -= b;
} else {
cout << '0';
}
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gZnVua2NqYSBzcHJhd2R6YWrEhWNhLCBjenkgbGljemJhIGplc3QgcG90xJlnxIUgMgpib29sIGlzUG93ZXJPZlR3byhpbnQgbikgewogICAgcmV0dXJuIChuID4gMCkgJiYgKChuICYgKG4gLSAxKSkgPT0gMCk7Cn0KCmludCBtYWluKCkgewogICAgaW50IGEgPSAxOyAgIC8vIGxpY3puaWsKICAgIGludCBiID0gMTY7ICAvLyBtaWFub3duaWsKCiAgICAvLyBzcHJhd2R6ZW5pZSwgY3p5IG1pYW5vd25payBqZXN0IHBvdMSZZ8SFIDIKICAgIGlmICghaXNQb3dlck9mVHdvKGIpKSB7CiAgICAgICAgY291dCA8PCAiQmxhZDogbWlhbm93bmlrIG5pZSBqZXN0IHBvdGVnYSBsaWN6YnkgMiFcbiI7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgY291dCA8PCAiUm96d2luaWVjaWUgYmluYXJuZSAxLzE2IChtaWFub3duaWsgamVzdCBwb3RlZ2EgMik6IDAuIjsKCiAgICAvLyByb3p3aW5pxJljaWUgYmluYXJuZSBkbGEgbWlhbm93bmlrYSBixJlkxIVjZWdvIHBvdMSZZ8SFIDIKICAgIHdoaWxlIChhID4gMCkgewogICAgICAgIGEgKj0gMjsKICAgICAgICBpZiAoYSA+PSBiKSB7CiAgICAgICAgICAgIGNvdXQgPDwgJzEnOwogICAgICAgICAgICBhIC09IGI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY291dCA8PCAnMCc7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==