兴趣--基于while和for循环的平方根倒数算法(非0x5f3759df型)

python代码

class Solution_2():
    def sqrl(self, num):
        num = float(num)
        i = True
        t = 1
        while i:
            if (t+1)**2 > num:
                s = 0.1
                n = num
                x, y, x_b = t, t, t
                while num - t ** 2 >= 1e-4 :
                    if t ** 2 - num != 0:
                        n = (n - x * y) * 100  # 是除号内部的东西

                        def get_next_M(x_b, n):
                            for j in range(1, 10):
                                if j * (20 * x_b + j) < n:
                                    continue
                                else:return j-1,20 * x_b + j-1


                        x, y= get_next_M(x_b, n)  # 这个是除号外边的,是分子,x=2,y=42
                        t = t + s * x
                        x_b= x_b*10 + x #x_b记录的是之前的x值,22
                        s = s/10
                        print(x, t, s, x_b)
                i = False
            else:
                t += 1
                print("个位是:%d"%t)
        return t
        
b = Solution_2()
t = b.sqrl(40)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vigigo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值