#include<cstdio> typedef unsigned long long ull; int main(){ char n[19]; scanf(" %s", n); ull wynik_pop = 0; ull wynik = 1; int i = -1; while(n[++i]){ n[i] -= '0'; ull temp = n[i] + 1; ull temp2 = 0; if(i && n[i-1] == 1){ temp2 = 9 - n[i]; } ull wynik_pop_temp = wynik_pop; wynik_pop = wynik; wynik = temp * wynik + temp2 * wynik_pop_temp; } printf("%llu\n", wynik); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include<cstdio> typedef unsigned long long ull; int main(){ char n[19]; scanf(" %s", n); ull wynik_pop = 0; ull wynik = 1; int i = -1; while(n[++i]){ n[i] -= '0'; ull temp = n[i] + 1; ull temp2 = 0; if(i && n[i-1] == 1){ temp2 = 9 - n[i]; } ull wynik_pop_temp = wynik_pop; wynik_pop = wynik; wynik = temp * wynik + temp2 * wynik_pop_temp; } printf("%llu\n", wynik); } |