#include #include #include int main() { char *nega; char *vysl = malloc(100 * sizeof(char)); while(scanf("%ms", &nega) == 1) { if (nega[strlen(nega) - 1] == '0') { nega[strlen(nega) - 1] = '1'; printf("%s\n", nega); } else { if (len % 2 == 0) { if (endsWith(01) { if (starts(11)) substring(2); else { po dvojicich: 10 -> 11 11 -> 00 00 -> 01 01 -> 10 } } else { 10 -> 11 11 -> 00 00 -> 01 } } else { } } a tak dale /* int i = 0, j = 0; long long res = 0; int len = strlen(nega); int pow = len - 1; for (i = 0; i < len; i++) { long long tmp = 1; for(j = 0; j < pow; j++) { tmp *= -2; } pow--; res += (nega[i] - '0') * tmp; } res++; int i = 0, j = 0; long long res = 0; int len = strlen(nega); int pow = len - 1; res = k; vysl[0] = '0'; len = 0; int mod; while(res != 0) { mod = (res % 2 + 2) % 2; if(res > 0) { res = res / (-2); } else { res = res / (-2) + (mod ? 1 : 0); } vysl[len] = mod + '0'; len++; } for(i = len - 1; i >= 0; i--) { printf("%c", vysl[i]); } if(len == 0) printf("0"); printf("\n"); */ } return 0; }