婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 算法題——快樂數的多種解法

python 算法題——快樂數的多種解法

熱門標簽:電銷機器人的風險 開封語音外呼系統代理商 應電話機器人打電話違法嗎 手機網頁嵌入地圖標注位置 河北防封卡電銷卡 開封自動外呼系統怎么收費 地圖標注線上如何操作 天津電話機器人公司 400電話辦理哪種

題目描述:

編寫一個算法來確定一個數字是否“快樂”。 快樂的數字按照如下方式確定:從一個正整數開始,用其每位數的平方之和取代該數,并重復這個過程,直到最后數字要么收斂等于1且一直等于1,要么將無休止地循環下去且最終不會收斂等于1。能夠最終收斂等于1的數就是快樂的數字。

例如:19是一個快樂數字,計算過程如下:

1^2+9^2=82
8^2+2^2=68
6^2+8^2=100
1^2+0^2+0^2=1
要求:當輸入快樂的數字時,輸出True,否則輸出False。

思路:

1. 當輸入的不是快樂數字時,會陷入一個無限循環,因此增加一個計數器 count 用來統計計算次數。設定當 count 達到2000次時,認為該數字不是快樂數字,跳出循環結束計算。
2. 因為不確定輸入的數字會是幾位數,因此不采用除法和取模的方法來獲得數字的每一位數,而是利用 for 循環獲取字符串類型數字的每一位來計算平方和。

代碼:

#快樂的數字
def getSumofSquares(num):
    numStr=str(num) #將待計算的數字轉換成字符串類型
    sum=0
    digitls=[int(x) for x in numStr] #從字符串中提取出每一位數字存入一個列表
    #注:該步略顯多余,因為python中字符串可以和列表一樣切片取值或循環,見下方更新部分
    #print(digitls)
    for i in digitls:
        sum += i**2
    return sum

def main():
    n = input() #輸入一個正整數
    sumofSqrs = eval(n)
    count = 0
    while sumofSqrs != 1:
        sumofSqrs = getSumofSquares(sumofSqrs)
        count += 1
        if count > 2000: #當計算次數超過2000次時,跳出循環結束計算
            print("False")
            break
    else:
        print("True")

main()

改良版

根據網友在評論區提出的不快樂的數字最終會在 [4,16,37,58,89,145,42,20] 這些數字中無限循環,因此可以加入判斷,當數字變為這些數字里的任意一個(比如4)時就結束循環,輸出False,從而避免無限循環的產生。

修改后的代碼:

#(新)快樂的數字
def getSumofSquares(num):
    numStr=str(num)
    sum=0
    for i in numStr:
        sum += int(i)**2
    return sum

def main():
    n = input() #n為一個正整數
    sumofSqrs = eval(n)
    while sumofSqrs != 1 and sumofSqrs != 4: #或 while sumofSqrs not in [1,4,16,37,58,89,145,42,20]
        sumofSqrs = getSumofSquares(sumofSqrs)
    else:
        if sumofSqrs == 1:
            print("True")
        else:
            print("False")

main()

采用遞歸

def happy(n):
        try:
                if n==1:
                        print('True')
                else:
                        new = str(n)
                        sum = 0
                        for c in new:
                                sum += int(c)**2
                        return happy(sum)
        except Exception as e:
                print('False')
                # print(e)

n = eval(input())
happy(n)

數學方法

        d = {}
        while True:
            m = 0
            while n > 0:
                m += (n%10)**2
                n //= 10 
            if m in d:
                return False
            if m == 1:
                return True
            d[m] = m
            n = m

優化過的

class Solution(object):
    def isHappy(self, n):
        """
        :type n: int
        :rtype: bool
        """
        record = []
        sq_sum = 0
        se_n = n

        while se_n != 1:
            sq_sum = 0
            while se_n > 0:
                sq_sum += (se_n % 10) * (se_n % 10)
                se_n = se_n / 10
            if sq_sum in record:
                return False
            record.append(sq_sum)
            se_n = sq_sum

        return True

以上就是python 算法題——快樂數的多種解法的詳細內容,更多關于python 算法題快樂數的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python使用ProjectQ生成量子算法指令集
  • Python機器學習算法之決策樹算法的實現與優缺點
  • Python集成學習之Blending算法詳解
  • python3實現Dijkstra算法最短路徑的實現
  • Python實現K-means聚類算法并可視化生成動圖步驟詳解
  • Python自然語言處理之切分算法詳解
  • python入門之算法學習
  • Python實現機器學習算法的分類

標簽:駐馬店 蘭州 山東 江蘇 六盤水 常州 宿遷 成都

巨人網絡通訊聲明:本文標題《python 算法題——快樂數的多種解法》,本文關鍵詞  python,算法,題,快樂,數,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 算法題——快樂數的多種解法》相關的同類信息!
  • 本頁收集關于python 算法題——快樂數的多種解法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品成人免费在线| 激情成人午夜视频| 日日摸夜夜添夜夜添亚洲女人| 另类欧美日韩国产在线| 97se亚洲国产综合自在线观| 久久中文字幕电影| 亚洲成av人影院| 成+人+亚洲+综合天堂| 精品国产一区二区在线观看| 香蕉成人啪国产精品视频综合网 | 欧美在线三级电影| 国产午夜久久久久| 精品综合久久久久久8888| 欧美三级电影在线看| 亚洲色图一区二区| 成人午夜视频网站| 久久综合av免费| 久久国产精品露脸对白| 欧美一区二区三区免费在线看| 亚洲免费电影在线| 日本道精品一区二区三区| 亚洲视频小说图片| 国产凹凸在线观看一区二区| 欧美成人三级电影在线| 秋霞电影网一区二区| 制服丝袜成人动漫| 日韩不卡在线观看日韩不卡视频| 欧美亚洲图片小说| 亚洲v中文字幕| 欧美久久久一区| 午夜国产精品一区| 欧美日本一区二区| 日本特黄久久久高潮| 欧美一区二区在线免费观看| 日精品一区二区| 91精品国产麻豆国产自产在线 | 日日夜夜精品免费视频| 欧美人牲a欧美精品| 日韩极品在线观看| 日韩一级片在线播放| 国产在线播放一区二区三区| 久久毛片高清国产| 高清国产一区二区| 一区二区三区四区在线免费观看| 欧美日韩一区中文字幕| 日韩精品电影在线| 国产亚洲精品aa| 99在线热播精品免费| 亚洲v日本v欧美v久久精品| 欧美一区二区三区公司| 国产精品一区在线观看乱码| 国产精品三级视频| 精品视频1区2区| 奇米影视7777精品一区二区| 久久免费精品国产久精品久久久久| 成人免费看的视频| 亚洲欧美偷拍卡通变态| 欧美一区二区三区视频在线| 成人永久aaa| 五月天中文字幕一区二区| 精品免费国产二区三区 | 88在线观看91蜜桃国自产| 久久99九九99精品| 国产精品乱子久久久久| 欧美三级中文字幕在线观看| 日本网站在线观看一区二区三区| 久久久av毛片精品| 欧美日韩一区三区四区| 国产揄拍国内精品对白| 亚洲欧美日韩综合aⅴ视频| 欧美一区二区三区成人| av中文字幕在线不卡| 毛片一区二区三区| 中文字幕日本乱码精品影院| 日韩无一区二区| 91精品1区2区| 国产成人精品影视| 麻豆91免费观看| 亚洲一区二区视频| 国产清纯白嫩初高生在线观看91| 91精品国产一区二区三区香蕉| 成人一级视频在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 一区二区在线免费| 中文一区二区在线观看| 日韩视频中午一区| 在线观看欧美黄色| 成人精品视频.| 韩国毛片一区二区三区| 亚洲18影院在线观看| 日韩毛片精品高清免费| 欧美精品一区二区高清在线观看| 欧美三级韩国三级日本三斤| 91在线精品一区二区三区| 国产精品一区免费视频| 久久99久久99小草精品免视看| 性欧美疯狂xxxxbbbb| 亚洲人快播电影网| 国产精品久久久久永久免费观看| 精品国精品国产尤物美女| 欧美精品一卡两卡| 欧美日韩亚洲综合在线| 色婷婷综合久久| 色天天综合色天天久久| av中文一区二区三区| 成熟亚洲日本毛茸茸凸凹| 国产在线观看免费一区| 久久激情综合网| 精品一区二区日韩| 狠狠色狠狠色合久久伊人| 激情久久五月天| 国产乱码精品一区二区三区五月婷| 国内精品不卡在线| 国产精品自在在线| 成人激情动漫在线观看| 国产经典欧美精品| 成人h动漫精品一区二区| 成人app软件下载大全免费| 99精品久久99久久久久| 色综合一区二区三区| 欧美日韩精品三区| 欧美性感一类影片在线播放| 欧美网站大全在线观看| 91精品国产色综合久久不卡蜜臀| 欧美一级在线免费| 久久综合999| 亚洲欧洲日韩在线| 香蕉加勒比综合久久| 美国十次综合导航| 成人性色生活片| 91久久久免费一区二区| 欧美一级黄色片| 国产亚洲精品aa午夜观看| 亚洲人成7777| 美女视频免费一区| 国产精品乡下勾搭老头1| 91丨九色丨黑人外教| 欧美区在线观看| 国产欧美一区二区在线| 亚洲欧美日韩小说| 欧美aaaaaa午夜精品| jvid福利写真一区二区三区| 91传媒视频在线播放| 欧美成人在线直播| 亚洲美女淫视频| 韩国欧美国产1区| 色88888久久久久久影院野外| 欧美肥妇bbw| 亚洲三级电影全部在线观看高清| 午夜影院久久久| 成人午夜短视频| 5858s免费视频成人| 欧美经典三级视频一区二区三区| 亚洲不卡av一区二区三区| 国产999精品久久久久久绿帽| 欧美日韩中文字幕一区| 久久精品视频在线看| 日韩精品欧美精品| 99r精品视频| 亚洲精品一区二区三区99| 一区二区三区四区国产精品| 国产成人精品免费视频网站| 69av一区二区三区| 日韩一区在线看| 国产精品18久久久久久久久久久久| 欧美亚洲图片小说| 亚洲三级在线免费| 国产福利精品一区| 精品国产一区二区三区久久久蜜月 | 国产精品国产三级国产aⅴ入口| 日韩成人伦理电影在线观看| 色丁香久综合在线久综合在线观看| 国产日韩三级在线| 免费在线观看一区二区三区| 精品视频全国免费看| 亚洲丝袜精品丝袜在线| 岛国精品在线播放| 国产日韩欧美一区二区三区乱码| 爽好多水快深点欧美视频| 在线观看一区日韩| 综合久久综合久久| 成人黄色电影在线| 国产无人区一区二区三区| 另类综合日韩欧美亚洲| 日韩小视频在线观看专区| 五月天激情小说综合| 欧美日韩亚洲综合在线| 亚洲第一av色| 欧美老人xxxx18| 天堂久久久久va久久久久| 精品视频一区二区不卡| 亚洲第一电影网| 欧美疯狂做受xxxx富婆| 亚洲va天堂va国产va久| 3atv在线一区二区三区| 奇米色一区二区三区四区| 日韩欧美高清一区| 国产精品一区免费视频| 国产精品青草久久| 色综合久久中文综合久久97|