Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. import sys
  2.  
  3. root = float(sys.argv[1])
  4. left = 0.0
  5. right = root
  6. count = 0
  7.  
  8. while right - left > pow(10, -10) :
  9. # 中央値
  10. mid = (right + left) / 2
  11. print("left: {:<20} right: {:<20} mid: {:<20}".format(left, right, mid))
  12. # 中央値の関数f(x)
  13. fm = pow(mid, 2)- root
  14. # 左の関数f(x)
  15. fl = pow(left, 2)- root
  16. # 異符号の分岐処理
  17. if fm * fl < 0:
  18. right = mid
  19. else:
  20. left = mid
  21. # ループカウンタ
  22. count += 1
  23. print("*"*80)
  24. print("LOOP COUNT: ", count)
  25. print("SQUARE ROOT: {:<10}".format(mid))
  26. print("*"*80)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement