Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- begin
- def silnia(liczba) #funkcja od liczenia silni
- return 1 if liczba == 0 #zwraca 1 jezeli liczba argument funkji jest rowny 0 bo 0! = 1
- result = 1
- count = 1
- while count < liczba # petla while z warunkiem jezeli zmienna count jest mniejsza od argumentu - liczba
- count += 1 # zwieksz count o 1
- result = result * count
- end
- return result # zwroc result
- end #zakonczenie funkcji
- t = gets.to_i
- if t < 1 || t > 1000 # warunki jezeli t nie moze byc ujemne ani wieksze od 1000, zgodnie z warunkami zadania, exit konczy wykonywanie programu
- exit!
- end
- wyniki = [] #nowa pusta tablica do ktorej bedziemy wrzucac wyniki
- t.times do
- reversed = silnia(gets.to_i).to_s.split("").reverse! #do zmiennej reversed umiesc obliczona przez funkcje silnia wczytana liczbe, przekonwertuj otrzymana z funkcji silnia inta do striga go podziel go, dzielac go tworzy sie tablica, ktora jest odwracana (jesli masz tablice [1,2,3,4,5].reverse = [5,4,3,2,1])
- for liczby in reversed do #petla dla kazdej liczby w reversed przelatuje od poczatku i jesli liczba ta jest rozna od zera to wpisuje ja do wynikow, break konczy wykonywanie petli, bo nie ma sensu dalej wykonywac skoro znalazlo element
- if liczby !="0"
- wyniki << liczby
- break
- end
- end
- end
- puts wyniki #wyswietla wyniki
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement