Les paraules de Fibonacci es defineixen de la manera següent:
“a”.
“b”.
Per a tota , és el resultat de concatenar amb .
Les set primeres paraules de la seqüència de Fibonacci són:
“a”,
“b”,
“ab”,
“bab”,
“abbab”,
“bababbab” i
“abbabbababbab”.
Feu un programa que, donada una sèrie de paraules, digui si són de Fibonnaci o no. Per a les que ho siguin, cal indicar la seva posició en la seqüència.
L’entrada és una seqüència de paraules compostes només per les
lletres a i b. Cap paraula tindrà més de 1000
lletres.
Per a cada paraula, cal indicar la seva posició en la seqüència, o dir que no és de Fibonacci, seguint el format de l’exemple.
Fixeu-vos que la longitud de les paraules de Fibonacci creix molt de pressa. Per tant, hi ha molt poques paraules de Fibonacci de mida 1000 o menys (de fet, n’hi ha exactament 16). Calculeu-les totes a l’inici del programa.
Recordeu que un string s amb n
caràcters c es pot declarar així:
string s(n, c);
Recordeu també que les operacions dels strings com ara
s += ’a’; o bé s1 += s2; o bé
s = s1 + s2; estan prohibides.
Input
a b ba aaa bb bababbab
Output
a es la paraula numero 1 b es la paraula numero 2 ba no es de Fibonacci aaa no es de Fibonacci bb no es de Fibonacci bababbab es la paraula numero 6