Advertisement
jukaukor

Arkimedes.py

Jun 19th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. # ympyrän ympäri ja sisäpuolelle piirretyjä
  2. # säännöllisiä 6*2**n monikulmioita
  3. # Arkimedes itse käytti 96-kulmioita, jossa n=4
  4. # Juhani Kaukoranta 19.6.2018
  5.  
  6. import math
  7. from decimal import *
  8.  
  9. def Newton(x) :
  10. '''high precision square root'''
  11.  
  12. getcontext().prec=101
  13. x0 = Decimal(1)
  14. for n in range (0,100):
  15. x1 = (x0 + Decimal(x)/x0)/Decimal(2)
  16. x0 = x1
  17. return(x0)
  18.  
  19. a = Decimal(2)*Newton(3)
  20. b = Decimal(3)
  21. for n in range(1,401):
  22. a = Decimal(2)*a*b/(a+b)
  23. b = Newton(a*b)
  24. print("Arvolla n = 400 ja 6*2**400 = ",float(6*2**400),"- sivuisesta monikulmiosta laskettuna")
  25. print("Piin alaraja ",b)
  26. print("Piin yläraja ",a)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement