Description Implement int sqrt(int x). Compute and return the square root of x. Example sqrt(3) = 1 sqrt(4) = 2 sqrt(5) = 2 sqrt(10) = 3 Challenge O(log(x)) 题意:求给定数的平方根,如果用一般的方法,例如二分法之类的,需要考虑一下int型的范围,别溢出.最好的方法时牛顿迭代法.代码如下: public class Solution { /**
题目链接:传送门 题目描述: 求Sqrt(x),返回整数值即可. [代码]: #include<bits/stdc++.h> using namespace std; ; /* int mySqrt ( int x ){ int L = 1 , R = N , mid , ans = 0 ; while ( L <= R ){ mid = ( L + R ) >> 1 ; if( mid <= x / mid ){ L = mid + 1 ; ans = mid ; }
公式不便于在这里编辑,所以在word中编辑好了,截图过来. 用python+牛顿迭代法 求 y =(x-2)**3的解 import numpy as np import matplotlib.pyplot as plt ''' 牛顿迭代法实现 y =(x-2)**3的解 ''' def f(x): return (x-2)**3 def fd(x): return 3*((x-2)**2) def newtonMethod(n,assum): time = n x = assum next