Python 例題 -- 巴比倫平方根演算法

來源:互聯網
上載者:User

標籤:python   日記   

演算法如下:

  1.猜測一個要求數位平方根

  2.用 原數 / 猜測數字

  3.用 計算步驟2的值與猜測數位平均值

  4.步驟3得到的值為新的猜測值

  5.判斷新的猜測值和原猜測值是否相同,相同則跳轉至步驟2,不同則該猜測值為原數平方根

  # 在電腦中相同與不同,參考浮點數相同方法

python源碼如下:


import math

from math import fabs

num_be = input("Please enter number use to solve square")

while(not num_be.isdigit()):  #保證輸入的為整數

    print("please enter number")

    num_be = input("Please enter number use to solve square")

num_float = float (num_be)

guess = input("please enter guess number")

while(not guess.isdigit()):  #保證輸入的為整數

    print("please enter number")

    guess = input("please enter guess number")

guess_float = float (guess)

precision = float (input("please enter the precision"))

count = 0 #記錄迴圈多少次

befor = 0 #前一個猜測值

sum =0

while(fabs(guess_float - befor) > precision): #使用絕對值防止,出現負值小於precision的情況

    befor = guess_float

    guess_float = ((num_float / guess_float) + guess_float) / 2

    count += 1

print("use count : ",count)  

print("THe ",num_float,"square is :", guess_float)

    

    

    


Python 例題 -- 巴比倫平方根演算法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.