国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python算法二:迭代法

這篇具有很好參考價值的文章主要介紹了python算法二:迭代法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.定義:迭代法也稱輾轉(zhuǎn)法,是一種不斷用變量的舊值遞推新值的過程,跟迭代法相對應(yīng)的是直接法(或者稱為一次解法),即一次性解決問題。迭代算法是用計算機解決問題的一種基本方法,它利用計算機運算速度快、適合做重復(fù)性操作的特點,讓計算機對一組指令(或一定步驟)進行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值,迭代法又分為精確迭代和近似迭代。比較典型的迭代法如“二分法”和"牛頓迭代法”屬于近似迭代法。

例題1:求1+2+3+......+100的和

分析:要想求前100項的和,可以先求出前第一項的和,再求出前第二項的和,,,s變量中的值不斷迭代,直到將第100個數(shù)加入到s變量中。

代碼如下:

s=0
for i in range(1,101):
    s=s+i
print(s)

例題2:一個正整數(shù)的階乘是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1,即n!=1×2×3×…×(n-1)×n?,F(xiàn)求正整數(shù)n的階乘。

分析:

1.增加一個變量,存儲結(jié)果,做好初始賦值。

2.使用計數(shù)循環(huán)結(jié)構(gòu)for語句進行循環(huán),使用range()函數(shù)生成一個數(shù)列,指定函數(shù)初始值為1,范圍值為n+1,變化增量為1時可以省略。

3.在循環(huán)體內(nèi),進行迭代,并將計算結(jié)果作為下一次的初始值。

4.循環(huán)結(jié)束后,打印輸出結(jié)果

代碼如下:

num = int(input("請輸入一個數(shù)字: "))
f=1 #賦初值
for i in range(1,num+1):
    f = f*i
print("%d 的階乘為 %d" % (num, f))

例題3:兔子數(shù)列(斐波那契數(shù)列)

有對兔子,從出生后的第3個月起每個月都生一對兔子。 小兔子長到第3個月后每個月又生一對兔子, 假設(shè)所有的兔子都不死,問30個月后的兔子總對數(shù)為多少?

代碼如下:

def fibo(n):
    f1=f2=1
    for i in range(3,n+1):
        f1,f2=f2,f1+f2
    return f2
print(fibo(30))

例題4:輸入兩個數(shù),求出這兩個數(shù)的最大公約數(shù)。

代碼如下:

num1=int(input('請輸入第一個正整數(shù):'))
num2=int(input('請輸入第二個正整數(shù):'))
m = max(num1, num2)
n = min(num1, num2)
r = m % n
while r != 0:
    m = n
    n = r
    r = m % n
print('這兩個數(shù)的最大公約數(shù)為:',   n)
input("運行完畢,請按回車鍵退出...")

使用自定義函數(shù)改寫:文章來源地址http://www.zghlxwxcb.cn/news/detail-457977.html

def gcd(m,n):
    r = m % n
    while r != 0:
        m = n
        n = r
        r = m % n

num1=int(input('請輸入第一個正整數(shù):'))
num2=int(input('請輸入第二個正整數(shù):'))
print('這兩個數(shù)的最大公約數(shù)為:',gcd(num1,num2))
input("運行完畢,請按回車鍵退出...")

到了這里,關(guān)于python算法二:迭代法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 3.4 迭代法

    3.4 迭代法

    ? ? 雅可比迭代法是一種用于求解線性方程組的迭代算法,其基本思想是將線性方程組中的系數(shù)矩陣拆分為對角線矩陣和非對角線矩陣兩部分,并利用對角線矩陣的逆矩陣來迭代求解方程組。 具體地,設(shè)線性方程組為Ax=b,其中A為系數(shù)矩陣,b為常數(shù)向量,x為未知向量,雅可

    2024年02月08日
    瀏覽(23)
  • 松弛(SOR)迭代法

    ? ? ? ? 松弛迭代法是在雅可比迭代法和高斯——賽德爾迭代法的基礎(chǔ)上,以w0為松弛因子,建立迭代格式如下: 即 ? ? ? ? 我們將線性方程組AX=b的系數(shù)矩陣A分解成一個對角矩陣D、一個下三角矩陣L和一個上三角矩陣D,即A=D-L-U,則有: ?? ?? ?? ?? ?? ? ? ? ? 當(dāng)w=1時,

    2024年02月04日
    瀏覽(20)
  • 數(shù)值分析-高斯塞得爾迭代法

    數(shù)值分析-高斯塞得爾迭代法

    高斯-賽德爾迭代(Gauss–Seidel method)是數(shù)值線性代數(shù)中的一個迭代法,可用來求出線性方程組解的近似值。該方法以卡爾·弗里德里?!じ咚购吐返戮S希·賽德爾命名。 同雅可比法一樣,高斯-賽德爾迭代是基于矩陣分解原理。(源自百度百科) 版本一 版本二 與雅克比迭代法

    2024年02月11日
    瀏覽(23)
  • 程序設(shè)計基礎(chǔ)實例大全(1.迭代法)

    本博文最先發(fā)表于知乎網(wǎng) 程序設(shè)計最為常用的計算方法有枚舉(Enumeration)、遞推和遞歸(Recursion)等。暴力搜索(Brute--force search)屬于枚舉法。 迭代法(Iteration)也是最為常用的一種方法。 1.1 階乘之和 問題描述 計算S=1!+2!+…+n! 輸入 一個正整數(shù)n,滿足1≤n≤10。 輸出 階

    2024年02月07日
    瀏覽(26)
  • 牛頓迭代法求解方程根——C語言

    牛頓迭代法是一種求解非線性方程的數(shù)值計算方法,它的基本思路是通過不斷迭代逼近方程的根。下面我們將介紹如何使用C語言編寫牛頓迭代法求解方程根的代碼,并利用博客對代碼進行解釋。 牛頓迭代法的基本原理是利用函數(shù)f(x)在點x_0處的切線來逼近函數(shù)的零點,將切線

    2024年02月08日
    瀏覽(24)
  • 【數(shù)學(xué)】通俗理解泰勒公式(牛頓迭代法有用到)

    【數(shù)學(xué)】通俗理解泰勒公式(牛頓迭代法有用到)

    最近在看一些機器學(xué)習(xí)優(yōu)化相關(guān)的方法(梯度下降、牛頓迭代等),里面又涉及到泰勒公式展開等,大學(xué)學(xué)的奈何都忘的差不多了,于是就看了一些博客,整理一下。 泰勒公式,也稱泰勒展開式。是用一個函數(shù)在某點的信息,描述其附近取值的公式。如果函數(shù)足夠平滑,在已

    2024年02月04日
    瀏覽(23)
  • Jacobi迭代法的matlab程序(《數(shù)值分析原理》)

    Jacobi迭代法的matlab程序(《數(shù)值分析原理》)

    Jacobi迭代法是常見的幾種迭代法之一,迭代格式如下圖所示:(圖片來自CHD的ztl老師的PPT)(具體內(nèi)容詳見《數(shù)值分析原理》) 該例子使用matlab的命令文件格式,命名為jacobi.m。 舉例:設(shè)有方程組 取初始向量為x (0)=(-3,1,1) (T),用Jacobi方法求解,要求||x (k+1)-x (k)||小于等于10…

    2023年04月08日
    瀏覽(16)
  • 數(shù)值分析——關(guān)于非線性方程求根的迭代法

    數(shù)值分析——關(guān)于非線性方程求根的迭代法

    目錄 一、Aitken算法: 二、Steffensen算法: 三、牛頓切線法 四、定端點弦截法 五、動端點弦截法 六、不動點迭代法 七、二分迭代法 Aitken算法是一種加速級數(shù)收斂的方法,適用于遞推計算和迭代解法,其核心思想是通過利用級數(shù)中的部分和之間的線性關(guān)系來加速收斂。 對應(yīng)的迭

    2024年02月03日
    瀏覽(24)
  • matlab實現(xiàn)牛頓迭代法求解非線性方程

    非線性方程是指含有未知數(shù)的方程,且方程中至少有一個未知數(shù)的次數(shù)大于一或者含有非一次冪的函數(shù)(如指數(shù)、對數(shù)、三角函數(shù)等)。例如,$f(x) = x^3 - 2x - 5 = 0$就是一個非線性方程。非線性方程通常沒有顯式的解析解,因此需要使用數(shù)值方法來近似求解。 牛頓迭代法(N

    2024年02月11日
    瀏覽(36)
  • 【學(xué)習(xí)筆記】求解線性方程組的G-S迭代法

    【學(xué)習(xí)筆記】求解線性方程組的G-S迭代法

    matlab中調(diào)用上述函數(shù)結(jié)果顯示: 哪里出問題了???

    2024年02月10日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包