Zkusíme pomocí rekurentní rovnice:
Nechť
značí, kolik čísel délky x lze dle zadání sestavit tak, aby první číslicí byla 3.
Nechť
značí, kolik čísel délky x lze dle zadání sestavit tak, aby první číslicí nebyla 3.
(Požadovaný počet čísel délky x je potom
.)
Potom:
,
,
, 
Eliminujme
dosazením do druhé rovnice:
.
Počáteční podmínky jsou:
, 
A požadovaný počet čísel tedy:
, což je 
Tedy jsme dostali modifikovanou fbonnaciho posloupnost, kdy předchozí dvě čísla posloupnosti nejen sečteme, ale následně i vynásobíme dvěma. Zjištění hodnoty
explicitně bez rekurentního odkazu na předchůdce by mohlo být možné - snad by k tomu posloužila modifikace postupu použitého u fibonacciho posloupnosti využívajícího vytvořujících funkčí. Ale to už bych nechal na někoho jiného. :-)
Offline

Jo, taky bych to řešil rekurzí, akorát jen s jednou funkcí T(x) udávající počet vyhovujících čísel délky x. Vyhovující číslo buď má na konci trojku, před ní některou ze zbylých dvou cifer a před tím některé z T(x-2) vyhovujících čísel, nebo končí čtyřkou či pětkou, před kterými je jedno z T(x-1)vyhovujících čísel. Máme tak T(x)=2T(x-1)+2T(x-2).
Možná ale bylo myšleno použít princip inkluze a exkluze.
Offline
Děkuji za pěkné vysvětlení, avšak jsem chtěl vyzkoušet ty vzorce a jestliže chci zjistit kolik lze takto sestavit 3 ciferných čísel vychází mí podle vzorce T3(3+2)/2 = 18. Ale když si možnosti vypíšu tak jich mám 22 :-( Nevíte kde dělám chybu?
3xx |x3x |xx3 |xxx |
-----|-----|-----|-----|
345 |434 |443 |454 |
344 |535 |553 |545 |
355 |435 |453 |444 |
354 |534 |543 |555 |
| |343 |445 |
| |353 |554 |
| | |544 |
| | |455 |
Offline
↑ Tomy:
Ale T3(3+2) = 44. Posloupnost T3 vypadá: 1, 2, 6, 16, 44, ...
Offline
To je T3 + Ty.
Offline