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

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

Project Euler 16 - 幫助解決它

Project Euler 16 - 幫助解決它

Go
森林海 2021-06-03 12:33:48
我正在解決Project Euler question 16,我最終得到了一個(gè)可以在邏輯上解決它的代碼,但無法處理,因?yàn)槲艺J(rèn)為它溢出或什么?我嘗試用 int64 代替 int,但它只打印 0,0。如果我將功率更改為低于 30 的任何值,它可以工作,但高于 30 則不起作用,有人能指出我的錯(cuò)誤嗎?我相信它無法計(jì)算 2^1000。// PE_16 project main.gopackage mainimport (    "fmt")func power(x, y int) int {    var pow int    var final int    final = 1    for pow = 1; pow <= y; pow++ {        final = final * x    }    return final}func main() {    var stp int    var sumfdigits int    var u, t, h, th, tth, l int    stp = power(2,1000)    fmt.Println(stp)    u = stp / 1 % 10    t = stp / 10 % 10    h = stp / 100 % 10    th = stp / 1000 % 10    tth = stp / 10000 % 10    l = stp / 100000 % 10    sumfdigits = u + t + h + th + tth + l    fmt.Println(sumfdigits)}
查看完整描述

3 回答

?
智慧大石

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

您不需要使用math/big. 下面是一個(gè)小學(xué)生將十進(jìn)制數(shù)加倍的數(shù)學(xué)方法作為提示!


xs以最不重要的一階保存十進(jìn)制數(shù)字。傳入指向數(shù)字 ( pxs)的指針,因?yàn)榍衅赡苄枰兇蟆?/p>


func double(pxs *[]int) {

    xs := *pxs

    carry := 0

    for i, x := range xs {

        n := x*2 + carry

        if n >= 10 {

            carry = 1

            n -= 10

        } else {

            carry = 0

        }

        xs[i] = n

    }

    if carry != 0 {

        *pxs = append(xs, carry)

    }

}


查看完整回答
反對 回復(fù) 2021-06-07
  • 3 回答
  • 0 關(guān)注
  • 250 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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