程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python第81题:检查连续数字和【PythonTip题库精编300题】

hfteth 2025-05-05 15:54:38 技术文章 10 ℃

1、编程试题:

编写一个程序来检查给定的数字是否可以表示为两个或多个连续正数的和。

例如:

1 + 2 +3 = 6

4 + 5 = 9

其中6 和 9 均可以表示为连续数字的和。

定义函数check_consecutive_sum(),参数为n。

在函数内,检查该数字n是否可以表示为连续数字的和。

如果该数字可以表示为连续数字的和,则返回True,否则返回False。

示例输入:6

示例输出:True

解释:1,2和3是连续的数字,加起来等于6。

2、代码实现:

#!/usr/bin/python3.9
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 , Inc. All Rights Reserved
#
# @Time      : 2024/1/27 10:41
# @Author    : fangel
# @FileName  : 81. 检查连续数字和.py
# @Software  : PyCharm

def check_consecutive_sum(n):
    #首先从0开始依次求和,i表示每一轮循环
    for i in range(1,n):
        #将每轮循环的初始值赋值给一个临时变量,后面在该轮循环中用该临时变量进行递增求和操作
        tmp = i
        sum = 0
        #每一轮求和时判断和是否小于n,小于时继续求连续整数的和
        while(sum < n):
            sum += tmp
            tmp += 1
            #等于n时,表明已经找到了,返回true
            if (sum == n):
                return True
            #大于n,只是表明本轮循环多次后没有找到,那么就得继续进行下一轮循环
            elif sum > n:
                break
    #当如上条件均不满足,表明找不到,返回False
    return False

# 获取输入数字n
n = int(input())
# 调用函数
print(check_consecutive_sum(n))

3、代码分析:

该题需要循环进行求和运算,找不到合适的值就进入下一轮寻找

4、运行结果:

输入:64

输出:False

Tags:

最近发表
标签列表