オファーは、安全性[41]を証明する。そして、連続シーケンスS(Python実装)の正の数であります

タイトル説明

暁明は、彼が計算するのに必要と9〜16は、彼はすぐに正しい答えは100で書いた、数学の宿題をやっていた、数学、1日の非常に好きです。しかし、彼はこれで満足していなかった、彼は連続正数列の多くの種類が100(少なくとも二つの数字を含む)であるか疑問に思いました。18,19,20,21,22:長い前に、彼は連続した正の数と100のシーケンスの別のセットを得ました。今、あなたの質問は、あなたもすぐにすべての正と連続したシーケンスS?幸運を識別することができます!

出力説明:

すべての正の出力と連続数列S. 開始昇順に従ってシーケンス番号との間の昇順で昇順

解決策1:ロビン

# -*- coding:utf-8 -*-
class Solution:
    def FindContinuousSequence(self, tsum):
        small, big = 1, 2
        _len = (tsum + 1) / 2
        curr = small + big
        res = []
        while small < _len:
            if curr == tsum:
                res.append(range(small, big + 1))
            while curr > tsum and small < _len:
                curr -= small
                small += 1
                if curr == tsum:
                    res.append(range(small, big + 1))
            big += 1
            curr += big
        return res

 

公開された75元の記事 ウォン称賛50 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_36936730/article/details/104710648