1.概念
質數(prime number)又稱素數,有無限個。除了1和它本身以外不再有其他的除數整除。根據算術基本定理,每乙個比1大的整數,要麼本身是乙個質數,要麼可以寫成一系列質數的乘積,最小的質數是2。
2.論點
在一般領域,對正整數n,如果用2到根號n之間的所有整數去除,均無法整除,則n為質數。
3.證明
如果n不能被2到根號n之間的任一整數整除,且不是質數,那麼n可以表示為:n=ab,其中ab是非1正整數。
因為n不能被2到根號n之間的任一整數整除,所以a>根號n,b>根號n,ab>根號n×根號n=n。
這跟ab=n是矛盾的,所以原來的命題得證.
4.**實現
public
static
boolean
isprime(int n)
1.概念牛頓迭代法(newton』s method)又稱為牛頓-拉夫遜方法(newton-raphson method),它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。
多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。
方法使用函式f(x)的泰勒級數的前面幾項來尋找方程f(x) = 0的根。牛頓迭代法是求方程根的重要方法之一,其最大優點是在方程f(x) = 0的單根附近具有平方收斂,而且該法還可以用來求方程的重根、復根。
2.公式
3.證明
例如,我想求根號2等於多少。假如我猜測的結果為4,雖然錯的離譜,但你可以看到使用牛頓迭代法後這個值很快就趨近於根號2了:
證明過程如下:
①設曲線為f(x)=x²-a。
②求出一階導數函式為f』(x)=2x。也就是說,函式上任一點(x,f(x))處的切線斜率是2x。
③根號a實際上就是x^2-a=0的乙個正實根。
④不斷用(x,f(x))的切線來逼近這個根。設初始值為x。
⑤求出一階導數函式與x軸的交點x-f(x)/(2x),此為下乙個值x,就是乙個比x更接近的近似值。
那麼,代入f(x)=x^2-a得到x-(x^2-a)/(2x),也就是(x+a/x)/2。
4.**實現
public
static
double
sqrt(double c)
最後貼一張動態演示圖: 演算法 牛頓迭代法求平方根
q implement int sqrt int x compute and return the square root of x.a 這裡給出兩種實現方法 一是二分搜尋,二是牛頓迭代法。1.二分搜尋 對於乙個非負數n,它的平方根不會小於大於 n 2 1 謝謝 linzhi cs提醒 在 0,n ...
牛頓迭代法求平方根
sqrt 方法 public static double sqrt double c 什麼是牛頓迭代法 多數方程不存在求根公式,牛頓提出了一種用迭代來求方程近似根的方法。思路就是不斷取切線,用線性方程的根逼近非線性方程f x 0的根x 過程簡介 過點 xk,f xk 作函式的切線,切線方程是 切線與...
牛頓迭代法 求平方根
牛頓迭代法 求出根號a的近似值 首先隨便猜乙個近似值x,然後不斷令x等於x和a x的平均數,迭代個六七次後x的值就已經相當精確了。例如,我想求根號2等於多少。假如我猜測的結果為4,雖然錯的離譜,但你可以看到使用牛頓迭代法後這個值很快就趨近於根號2了 這種演算法的原理很簡單,我們僅僅是不斷用 x,f ...