目录
python连续正整数之和
一、题目要求
1、编程实现
2、输入输出
二、算法分析
三、程序编写
四、程序说明
五、运行结果
六、考点分析
七、 推荐资料
1、蓝桥杯比赛
2、考级资料
3、其它资料
python连续正整数之和
第十二届蓝桥杯青少年组python比赛省赛真题
一、题目要求
(注:input()输入函数的括号中不允许添加任何信息)
从1到10000的连续正整数,其中有多组连续的正整数之和相同。
例如:2.3,4和4,5这两组连续正整数之和都为9.
1、编程实现
输入一个正整数S,输出从1到10000连续的正整数中,有多少组连续正整数之和为S.
组连续正整数最少为两个正整数)
例如:输入为9,其中2,3,4和4,5这两组连续正整数之和都为9,则输出2。
2、输入输出
输入描述:只有一行,输入一个正整数S
输出描述:只有一行,一个整数,即有几组连续的正整数之和为S
输入样例:
9
输出样例:
2
二、算法分析
- 题目相对而言有一点难度,难在如何辨别多组
- 小朋友们碰到这类题型的时候需要稍加冷静并认真思考,题目是告知我们找出多个连续数字之和等于我们输入的整数,其实这里就有我们需要的两个已知条件
- 一个是他们的和要等于输入数字,所以需要进行求和
- 另一个是他们是连续的,可以使用一个变量从开始求和数字记录,到求和结束,这两个数相等的时候,记录的求和数字个数(也就是连续的数)是否等于最后一个数字减去最开始的数字加1即可,如果这两个条件都满足,那么组合统计次数加1
- 所以分析一下这个可以使用嵌套循环完成
三、程序编写
n = int(input())
count = 0
for i in range(1,n):
sum1 = 0
k = 0
for j in range(i,n):
sum1 += j
k += 1
if sum1 == n and k == j-i+1:
count += 1
print(count)
四、程序说明
- 利用input输入函数从键盘获取糖果罐数
- 利用int函数将n转换成整数类型
- 然后,定义变量count用于计数满足条件的连续正整数序列的个数,初始化为0
- 接下来,使用两层循环来计算所有可能的连续正整数序列的和。外层循环从1到n-1,表示连续序列的起始数字
- 内层循环从起始数字开始到n,表示连续序列的结束数字
- 在内层循环中,定义变量sum1用于计算连续序列的和,初始化为0
- 变量k用于记录连续序列的长度,初始化为0
- 每次循环,将当前数字j加到sum1中,并将k加1
- 如果sum1等于n,并且k等于j-i+1,说明找到了一个满足条件的连续序列。此时将count加1
- 最后,循环结束后,输出count的值,即满足条件的连续正整数序列的个数。
五、运行结果
9
2
六、考点分析
难度级别:中等,这题相对而言还是有一点小难度,难在题目分析和算法设计过程,具体主要考查如下:
- 学会分析题目,找到解题思路
- 学会简单的算法知识的应用
- input函数:Python 中 input() 函数接受一个标准输入数据,返回为 string 类型。
- int函数:强制将传入对象转换成整数类型
- 学会for循环的使用:for循环可以遍历任何有序的项及列表元素等等。
- range函数:rang(a,b),循环的时候是不包括b的,所以我们这个案例中要转变一下,要想包含b,就应该写成range(a,b+1)
- 学会if...条件判断语句的使用:满足条件才执行相应的程序
- print函数:用于打印输出,最常见的一个函数。
- 充分掌握for循环和条件判断语句及相关操作函数的使用
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!
七、 推荐资料
- 所有考级比赛学习相关资料合集【推荐收藏】
1、蓝桥杯比赛
-
蓝桥杯python选拔赛真题详解
-
蓝桥杯python省赛真题详解
-
蓝桥杯python国赛真题详解
-
历届蓝桥杯科技素养计算思维真题解析
2、考级资料
-
python等级一级真题解析【电子学会】
-
python等级二级真题解析【电子学会】
-
python等级三级真题解析【电子学会】
-
python等级四级真题解析【电子学会】
3、其它资料
-
初学python100例
- 历届蓝桥杯scratch国赛真题解析
- 历届蓝桥杯scratch省赛真题解析
- 历届蓝桥杯scratch STEMA选拔赛真题解析
- 历届蓝桥杯科技素养计算思维真题解析
- 画图-scratch编程考级99图
- 电子学会历年scratch等级考试一级真题解析
- 电子学会历年scratch等级考试二级真题解析
- 电子学会历年scratch等级考试三级真题解析
- 电子学会历年scratch等级考试四级真题解析
- 零基础学习scratch3.0【入门教学 免费】
- 零基础学习scratch3.0【视频教程 114节 免费】