Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.36 KB | None | 0 0
  1. from fractions import Fraction
  2. from math import sqrt
  3.  
  4. def ramanujan(k): #jakis syf do przyblizenia pi
  5.     pi = Fraction(1,1)
  6.     fact1 = fact2 = Fraction(1,1)
  7.     for i in range(k):
  8.         fact1 *= 4*k
  9.         fact2 *= k
  10.         pi += Fraction(fact1*(1103+26390*k),((fact2)**4)*(396**(4*k)))
  11.     pi *= ((2*sqrt(2)) / 9801)
  12.     pi **= (-1)
  13.     pi -= 10**10*Fraction(32,1000000000)
  14.     return str(int(10**100*pi))
  15.  
  16. def wyszukaj(poczatek,topowy,plik,p):
  17.     tekst = topowy
  18.     fragment = ''
  19.     brama = True
  20.     j = 0
  21.     if poczatek == (len(plik)-1):
  22.         return tekst
  23.     for i, slowo in enumerate(tadzio, poczatek):
  24.         d = len(slowo)
  25.         if d == 3:
  26.                 if brama:
  27.                     if i != poczatek:
  28.                         #print(poczatek)
  29.                         brama = False
  30.                         poczatek = i
  31.         if d == int(p[j]):
  32.             j += 1
  33.             fragment += (' ' + slowo)
  34.         elif d == 10:
  35.             if d == int(p[j]):
  36.                 j += 1
  37.                 fragment += (' ' + slowo)
  38.         else:
  39.             brama = True
  40.             if len(fragment) > len(tekst):
  41.                 tekst = fragment
  42.                 fragment = ''
  43.             return wyszukaj(poczatek,topowy,plik,p)
  44.  
  45. pi = ramanujan(1)
  46. tadzio = open('tadek.txt',encoding='utf-8').read().split()
  47. print(wyszukaj(0,'',tadzio,pi))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement