Facebook
From sydenham, 6 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 344
  1. def potega(podstawa, do_potegi):
  2.     if do_potegi == 0:
  3.         return 1
  4.     if do_potegi == 1:
  5.         return podstawa
  6.     if do_potegi%2 == 0:
  7.         if do_potegi == 2:
  8.             return podstawa*podstawa
  9.         wynik = potega(podstawa, do_potegi / 2)
  10.         return wynik*wynik
  11.     wynik = potega(podstawa, (do_potegi-1) / 2)
  12.     return wynik * wynik * podstawa
  13.  
  14. def potega2(podstawa, do_potegi, kumul=1):
  15.     if do_potegi == 0:
  16.         return kumul
  17.     return potega2(podstawa, do_potegi-1, kumul*podstawa)
  18.  
  19. def potega3(podstawa, do_potegi):
  20.     def _potega3(wynik, do_potegi):
  21.         if do_potegi == 0:
  22.             return wynik
  23.         return _potega3(podstawa*wynik, do_potegi-1)
  24.     return _potega3(podstawa, do_potegi-1)
  25.  
  26. def potega4(podstawa, do_potegi):
  27.     if do_potegi == 0:
  28.         return 1
  29.     return podstawa * potega4(podstawa, do_potegi-1)
  30.  
  31. def czyPalindrom(word):
  32.     if len(word) < 2:
  33.         return True
  34.     else:
  35.         if word[0] == word[len(word)-1]:
  36.             return czyPalindrom(word[1:len(word)-1])
  37.         else:
  38.             return False
  39.  
  40. def czyAnagram(base, check):
  41.     word = dict()
  42.     for i in base:
  43.         word[i] = word.get(i, 0)+1
  44.     for i in check:
  45.         if i not in word.keys() or word[i] == 0:
  46.             return False
  47.         else:
  48.             word[i] = word[i]-1
  49.     return True
  50.  
  51. def moda(lst):
  52.     numbers = dict()
  53.     for number in lst:
  54.         numbers[number] = numbers.get(number, 0)+1
  55.     big = max(numbers.values())
  56.     for k, v in numbers.items():
  57.        if v == big:
  58.            return k