C - Fibonacciho čísloČasový limit: 10000000 steps, Pamäťový limit: 10000000 charsProgramovací jazyk: Turing MachinePočet bodov: 8 [ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ] ÚlohaNa páske je uložené jedno unárne kódované prirodzené číslo n. Vypočítajte F(n), Fibonacciho číslo, keď platí, že:
VstupPáska je ohraničená z ľava. Počiatočný stav je s0. Hlava je nastavená na prvý znak, ktorý je vždy nula. Prvý znak čísla n začína napravo od nej. Naľavo od hlavy už nie je páska. Povolené páskové písmená sú len 0 a 1. Na páske sa nachádza práve jedno číslo n v unárnom kódovaní.VýstupNa páske treba ponechať počet jednotiek rovnajúci sa F(n). Nemusia tvoriť súvislý blok. Nie je dôležité, v akom stave skončí stroj a kde zastane hlava.Priklad 1Vstup:-t1 -oc 01 01 Výstup:0 Vysvetlenie:F(0)=0, na páske nemajú teda zostať žiadne jednotky. Priklad 2Vstup:-t1 -oc 01 01111111 Výstup:8 Vysvetlenie:F(6)=8, na páske má teda zostať presne osem jednotiek. Poznámka:Vo vstupe sú uvedené parametre použité na testovanie pomocou programu palma_ts, môžete ich umiestniť do vstupného súboru. Pozor! Zmenil sa spôsob zápisu Turingovho stroja! Aktuálny spôsob nájdete popísaný v sekcii Dokumenty. |