Tehtäväsi on laskea, monellako tavalla merkeistä a–z voidaan muodostaa n merkin pituinen merkkijono, jossa kaikki vierekkäiset merkit ovat myös vierekkäin aakkosissa.
Kun n=2, haluttu vastaus on 50. Tässä merkkijonon ensimmäinen merkki voi olla mikä tahansa merkki väliltä a–z (yhteensä 26 vaihtoehtoa). Jos merkki on a tai z, seuraavan merkin valintaan on yksi vaihtoehto. Muuten seuraavan merkin valintaan on kaksi vaihtoehtoa. Tästä saadaan vastaus 2 + 24 \cdot 2 = 50.
Kun n=5, haluttuja merkkijonoja ovat esimerkiksi ababa, cdcba ja bcdef.
Toteuta tiedostoon onediff.py funktio count_strings, jolle annetaan merkkijonon pituus. Funktion tulee palauttaa merkkijonojen määrä.
Funktion tulee toimia tehokkaasti, kun merkkijonon pituus on välillä 1 \dots 100.
def count_strings(n):
# TODO
if __name__ == "__main__":
print(count_strings(1)) # 26
print(count_strings(2)) # 50
print(count_strings(3)) # 98
print(count_strings(4)) # 192
print(count_strings(42)) # 36766943673096
print(count_strings(100)) # 7073450400109633000218032957656
