#include #include int K, citac; char cifry[8], cifry2[8]; void posunCislici(int cifra, int stav) { if (cifra == K) return; if (citac == 0) posunCislici(cifra + 1, stav); if (cifry[cifra] == 48) { while (cifry[cifra] < 57) { cifry[cifra]++; citac++; if (stav) printf("%s ", cifry); posunCislici(cifra + 1, stav); } } else if (cifry[cifra] == 57) { while (cifry[cifra] > 48) { cifry[cifra]--; citac++; if (stav) printf("%s ", cifry); posunCislici(cifra + 1, stav); } } else if (cifry[cifra] < 52) { while (cifry[cifra] > 48) { cifry[cifra]--; citac++; if (stav) printf("%s ", cifry); posunCislici(cifra + 1, stav); } while (cifry[cifra] < 57) { cifry[cifra]++; citac++; if (stav) printf("%s ", cifry); posunCislici(cifra + 1, stav); } } else { while (cifry[cifra] < 57) { cifry[cifra]++; citac++; if (stav) printf("%s ", cifry); posunCislici(cifra + 1, stav); } while (cifry[cifra] > 48) { cifry[cifra]--; citac++; if (stav) printf("%s ", cifry); posunCislici(cifra + 1, stav); } } } int main() { scanf("%s", cifry); while (cifry[0] >= 48 && cifry[0] <= 57) { K = strlen(cifry); strcpy(cifry2, cifry); citac = 0; posunCislici(0, 0); printf("%d\n", citac); strcpy(cifry, cifry2); citac = 0; posunCislici(0, 1); printf("\n"); scanf("%s", cifry); } return 0; }