Skip to content

Instantly share code, notes, and snippets.

@emrahgunduz
Created January 27, 2017 08:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emrahgunduz/ed06954620f0b920689f30cad6eace69 to your computer and use it in GitHub Desktop.
Save emrahgunduz/ed06954620f0b920689f30cad6eace69 to your computer and use it in GitHub Desktop.
Calculate e (euler's number), as long as you want
length = 50
n = 2
first_numerator = 3
first_denominator = 1
second_numerator = 8
second_denominator = 3
result = []
for i in xrange(length):
x = n
y = n + 1
n = n + 1
old_second_numerator = second_numerator
old_second_denominator = second_denominator
second_numerator = x * first_numerator + y * second_numerator
second_denominator = x * first_denominator + y * second_denominator
first_numerator = old_second_numerator
first_denominator = old_second_denominator
a = first_numerator / first_denominator
b = second_numerator / second_denominator
while a == b:
result.append(a)
first_numerator = 10 * (first_numerator % first_denominator)
second_numerator = 10 * (second_numerator % second_denominator)
a = first_numerator / first_denominator
b = second_numerator / second_denominator
print "%i.%s" % (result.pop(0), "".join(map(str, result)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment