Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/ruby
- $stdout.sync = true
- k, a, b, a1, b1 = 2, 4, 1, 12, 4
- search = "GAB".unpack('c*')
- pos = 0
- last = nil
- piPos = 0
- fullBreak = false
- until fullBreak
- # Next approximation
- p, q, k = k*k, 2*k+1, k+1
- a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
- # Print common digits
- d = a / b
- d1 = a1 / b1
- while (d == d1) and not (fullBreak)
- if last
- num = "#{last}#{d}".to_i
- if num == search[pos]
- chr = num.chr
- puts "#{chr} : #{piPos}"
- pos += 1
- if pos == search.size
- puts "Encontrado na casa decimal ##{piPos - 1} de PI"
- fullBreak = true
- end
- elsif pos > 0
- pos = 0
- end
- end
- # print d
- last = d
- piPos += 1
- a, a1 = 10*(a%b), 10*(a1%b1)
- d, d1 = a/b, a1/b1
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment