国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Golang - Golang算法問題之整數拆分實現方法分析

Golang算法問題之整數拆分實現方法分析

2020-05-05 13:52books1958 Golang

這篇文章主要介紹了Golang算法問題之整數拆分實現方法,結合實例形式分析了Go語言數值運算與數組遍歷相關操作技巧,需要的朋友可以參考下

本文實例講述了Golang算法問題之整數拆分實現方法。分享給大家供大家參考,具體如下:

一個整數總可以拆分為2的冪的和,例如:

7=1+2+4
7=1+2+2+2
7=1+1+1+4
7=1+1+1+2+2
7=1+1+1+1+1+2
7=1+1+1+1+1+1+1

總共有6種不同的拆分方式。

再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。

用f(n)表示n的不同拆分的種數,例如f(7)=6.

要求編寫程序,讀入n(不超過1000000),輸出f(n)

輸入:一個整數N(1<=N<=1000000)。

輸出:f(n)

輸入數據如果超出范圍,輸出-1。

樣例輸入:

7

樣例輸出:

6

代碼實現:

復制代碼 代碼如下:
package huawei
import (
    "fmt"
)
func Test08Base() {
    input := 1000000
    output := numberSplit(input)
    fmt.Println(output)
}
func numberSplit(n int) int {
    if n < 1 || n > 1000000 {
        return -1
    }
    //1=1,1種拆分方式
    if n == 1 {
        return 1
    }
    //2=2,2=1+1,2種拆分方式
    if n == 2 {
        return 2
    }
    //n>=3
    //保存已經計算出來的數值
    data := make([]int, n+1)
    data[0] = 0 //該值無意義純占位作用
    data[1] = 1
    data[2] = 2
    for i := 3; i <= n; i++ {
        if i%2 == 0 {
            //偶數
            data[i] = data[i-2] + data[i/2]
        } else {
            //奇數
            data[i] = data[i-1]
        }
    }
    return data[n]
}

 

希望本文所述對大家Go語言程序設計有所幫助。

延伸 · 閱讀

精彩推薦
  • GolangGolang中Bit數組的實現方式

    Golang中Bit數組的實現方式

    這篇文章主要介紹了Golang中Bit數組的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    天易獨尊11682021-06-09
  • Golanggolang的httpserver優雅重啟方法詳解

    golang的httpserver優雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    helight2992020-05-14
  • Golanggolang json.Marshal 特殊html字符被轉義的解決方法

    golang json.Marshal 特殊html字符被轉義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉義的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • Golanggolang如何使用struct的tag屬性的詳細介紹

    golang如何使用struct的tag屬性的詳細介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細介紹,從例子說起,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Go語言中文網11352020-05-21
  • GolangGolang通脈之數據類型詳情

    Golang通脈之數據類型詳情

    這篇文章主要介紹了Golang通脈之數據類型,在編程語言中標識符就是定義的具有某種意義的詞,比如變量名、常量名、函數名等等,Go語言中標識符允許由...

    4272021-11-24
  • Golanggo日志系統logrus顯示文件和行號的操作

    go日志系統logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产91精品一区二区绿帽 | 欧美日韩在线视频观看 | 欧美日韩国产一区二区三区不卡 | 亚洲免费在线播放 | 久久亚洲国产精品 | 久久免费看少妇a高潮一片黄特 | 色网站在线观看 | 国产精品免费视频一区二区三区 | 一级片网址 | 99久久久无码国产精品 | 久久国产精品一区二区 | 黄色免费观看 | 久久久久久婷婷 | 精品一区二区三区视频 | 国产综合久久久 | 亚洲国产一区二区在线观看 | 毛片在线免费 | 999精品在线 | 国产在线看片 | 一区二区三区在线播放 | 久久久在线免费观看 | 国产视频一区二区 | 久久99精品国产麻豆婷婷 | 日本色综合 | 久久九九| 欧美日韩中文 | 欧美,日韩,国产精品免费观看 | 午夜免费在线 | 国产精品久久久久久中文字 | 色综合成人 | 日韩国产精品一区二区三区 | 精品久久久久久久久久久下田 | 亚洲成人久久久 | 紧缚调教一区二区三区视频 | 色网网站 | 黄视频| 成人午夜精品久久久久久久3d | 亚洲精品99 | 精品免费在线 | 亚洲永久免费 | 国产精品久久久久久久久图文区 |