第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 如何計算迭代次數(shù)?

Go 如何計算迭代次數(shù)?

Go
一只萌萌小番薯 2022-01-17 17:08:37
因此,我有一小段代碼可以根據(jù)需要進(jìn)行迭代,直到所尋求的值之間的差異非常大。我想在代碼運(yùn)行完成后計算并打印迭代次數(shù),最好在我的主函數(shù)中(以及打印我需要的所有其他內(nèi)容)。編輯:好的,我已經(jīng)設(shè)法做到了。我想知道是否有一種更簡單的方法來計算迭代并將它們傳遞給輸出函數(shù)。func sqrt(x float64) (float64, int) {    k := 1    z := 1.0    q := (z*z - x)/(2*z)    for {      if  math.Abs(-q) > 0.001 {      z -= q      q = (z*z - x)/(2*z)      k += 1      } else {        break      }    }    return z, k}func main() {    k := 1    z := 1.0    z, k = sqrt(9)    fmt.Println("Your sqrt = ", z)    fmt.Println("Math Sqrt = ",math.Sqrt(9))    fmt.Println("Iterations: ", k)}
查看完整描述

2 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個贊

您可以返回您的浮點(diǎn)值和一個 int(作為迭代次數(shù))。我對您的示例進(jìn)行了非常小的修改以進(jìn)行演示。


func sqrt(x float64) (float64, int) {


    z := 1.0

    i := 1

    q := (z*z - x) / (2 * z)

    for {

        if math.Abs(-q) > 0.01 {

            i++

            z -= q

            q = (z*z - x) / (2 * z)

        } else {

            break

        }

    }

    return z, i

}


func main() {

    f, i := sqrt(9)

    fmt.Printf("result: %f iterations: %d\n", f, i)

    fmt.Println(math.Sqrt(9))

}


查看完整回答
反對 回復(fù) 2022-01-17
?
交互式愛情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個贊

您可以通過函數(shù)提供多個返回值:


func main() {

    numLoops, newNum := sqrt(9)

}


func sqrt(x float64) (int, float64) {

    <implementation>

}

GoPlay 在這里: https: //play.golang.org/p/R2lV41EbEd


查看完整回答
反對 回復(fù) 2022-01-17
  • 2 回答
  • 0 關(guān)注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號