Facebook
From Morose Flamingo, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 117
  1. class Catalan:
  2.     def __init__(self, n):
  3.         self.i = 0
  4.         self.n = n
  5.        
  6.     def __iter__(self):
  7.         return self
  8.    
  9.     def silnia(self, licz):
  10.         war = 1
  11.         for i in range(1,licz+1):
  12.             war *= i
  13.         return war
  14.  
  15.     def __next__(self):
  16.         if self.i < self.n:
  17.             licznik = self.silnia(2*self.i)
  18.             mianownik = self.silnia(self.i+1) * self.silnia(self.i)
  19.             self.i += 1
  20.             return licznik/mianownik
  21.         else:
  22.             raise StopIteration("Koniec")
  23.  
  24. for i in Catalan(5):
  25.     print(i)