Wieczny kalendarz
Zosia dostała w prezencie "wieczny kalendarz". Nazywa się
wieczny gdyż zawsze pokazuję datę niezależnie od roku.
Kalendarz pokazuje tylko 4 pola. Na przykład
-
1503 oznacza datę 15 marca
-
0412 oznacza datę 4 grudnia
-
2802 oznacza datę 28 lutego
Kalendarz czy kołowrotki?
Kalendarz to po prostu 4 kołowrotki (ułozone obok siebie) pokazujące 4 cyfry. Każdy z kołowrotków składa sie z 10 tabliczek z cyframi od 0 do 9. Tabliczki można przekładać na kołowrotku w obydwie strony. Czyli jeśli na danym kołowrotku z przodu jest tabliczka 5 to można jednym przejściem spowodować by z przodu była zarówno tabliczka 6 (przejście do przodu) jak i tabliczka 4 (przejście do tyłu).
Kłopot Zosi...
Zosia bawiąc się kalendarzem zaczęła się zastanawiać ile najmniej zmian musi zrobić by przejść z jednej daty do drugiej. Jest to bardzo męczące zadanie, dlatego liczy na Twoją pomoc.
...Twoim zadaniem
Napisz program
LiczbaPrzejść :data_początkowa :data_końcowa który w wyniku wypisze na ekranie ile najmniej cyfr musi przełożyć Zosia na wszystkich kołowrotkach by zmienić w swoim kalendarzu datę z
:data_początkowa na datę
:data_końcowa
Przykłady wywołania programu
Przykład nr 1
Wywołanie programu:
? LiczbaPrzejść 1512 1609
powinno spowodować na ekranie wypisanie tekstu:
LiczbaPrzjeść między datami: 5
Dlaczego 5 przejść?
-
Pierwsza data to 15 grudnia.
-
Druga data to 16 września.
-
Przechodząc z 15 dnia miesiąca na 16 dzień miesiąca potrzebujemy 1 zmianę:
1->1 (brak zmiany kołowrotka)
5->6 (1 zmiana)
-
Przechodząc z grudnia (12) na wrzesień (09) potrzebujemy 4 zmian:
1->0 (1 zmiana)
2->1>0>9 (3 zmiany)
-
Czyli łącznie mamy 5 zmian.
Przykład nr 2
Wywołanie programu:
? LiczbaPrzejść 3101 0912
powinno spowodować na ekranie wypisanie tekstu:
LiczbaPrzjeść między datami: 7
Dlaczego 7 przejść?
-
Pierwsza data to 31 stycznia.
Czyli łącznie mamy 7 zmian.
-
Druga data to 09 grudnia.
-
Przechodząc z 31 dnia miesiąca na 09 dzień miesiąca potrzebujemy 5 zmian:
3->2->1>0 (3 zmiany)
1->0->9 (2 zmiany)
-
Przechodząc ze stycznia (01) na grudzień (12) potrzebujemy 2 zmian:
0->1 (1 zmiana)
1->2 (1 zmiana)
-
Czyli łącznie mamy 7 zmian.