Problem jestWyjaśnić ten dynamiczny wspinaczki programowania n-schodek kodu
„Jesteś wspinaczki przypadku schodów. Za każdym razem, gdy można albo zrobić 1 krok lub 2 kroki. Klatka schodowa ma n kroków. Na ile różnych sposobów można wspinasz się po schodach? "
Poniżej przedstawiono rozwiązanie kodu dla tego problemu, ale mam problemy z jego zrozumieniem. Czy ktoś może wyjaśnić mi
int stairs(int n) {
if (n == 0) return 0;
int a = 1;
int b = 1;
for (int i = 1; i < n; i++) {
int c = a;
a = b;
b += c;
}
return b;
}
Dzięki,
nie jest f (0) = 0 w fibonacci? –
Mylącą częścią dla mnie w kodzie jest a & b. Co oni reprezentują i dlaczego obaj są 1? –
a oznacza f (n-1), b oznacza f (n-2) –