Advertisement
Guest User

Untitled

a guest
May 29th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.34 KB | None | 0 0
  1. begin
  2.   def silnia(liczba) #funkcja od liczenia silni
  3.     return 1 if liczba == 0 #zwraca 1 jezeli liczba argument funkji jest rowny 0 bo 0! = 1
  4.     result = 1
  5.     count = 1
  6.     while count < liczba # petla while z warunkiem jezeli zmienna count jest mniejsza od argumentu - liczba
  7.     count += 1 # zwieksz count o 1
  8.     result = result * count
  9.     end
  10.     return result # zwroc result
  11.   end #zakonczenie funkcji
  12.  
  13.   t = gets.to_i
  14.   if t < 1 || t > 1000 # warunki jezeli t nie moze byc ujemne ani wieksze od 1000, zgodnie z warunkami zadania, exit konczy wykonywanie programu
  15.     exit!
  16.   end
  17.  
  18.   wyniki = [] #nowa pusta tablica do ktorej bedziemy wrzucac wyniki
  19.   t.times do
  20.     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])
  21.     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
  22.       if liczby !="0"
  23.         wyniki << liczby
  24.         break
  25.       end
  26.     end
  27.   end
  28.   puts wyniki #wyswietla wyniki
  29.  
  30. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement