题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如:
15=1+2+3+4+5
15=4+5+6
15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
输入数据:一个正整数,以命令行参数的形式提供给程序。
输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果
有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出
“NONE” 。
例如,对于 15 ,其输出结果是:
1 2 3 4 5
4 5 6
7 8
对于 16 ,其输出结果是:
NONE
def Devide_1(K):
p=1;
a=[1]
sum=1;
found_ans=False;
while p<K:
if sum<K:
p+=1
a.append(p)
sum+=p
elif sum>K:
sum-=a[0]
del a[0]
else:
found_ans=True
print "+".join(str(i) for i in a),"=",sum
p+=1
a.append(p)
sum+=p
if found_ans == False:
print "None for ",K
Devide_1(15)
Devide_1(16)
Devide_1(1000)
def Devide_2(K):
m=1;
T=2*K
found_ans=False;
while m<K:
m+=1
if T%m==0 and (T/m-m-1)%2==0:
n=(T/m-m-1)/2
if n<0:
break;
else:
found_ans=True
print "+".join(str(i) for i in range(n+1,n+m+1)),"=",K
if found_ans == False:
print "None for ",K
Devide_2(15)
Devide_2(16)
Devide_2(1000)
分享到:
相关推荐
算法题-算法题资源算法题-算法题资源
"算法大全-面试题-链表-栈-二叉树-数据结构"这个压缩包文件提供了丰富的知识资源,旨在帮助学习者深入理解和应用这些核心概念。 链表是一种线性数据结构,与数组不同,它的元素在内存中不是连续存储的。链表由一...
算法大全 -面试题- 数据结构
算法题-整数反转.js
算法题-华为od的测试 (试题练习)
华为od算法题-组装新的数组-Java解法
信奥算法题--B2005 字符三角形,scratch实现的素材
算法题_forecast-m笔记
根据给定文件的信息,我们可以提炼出与ACM算法题及经典算法库相关的多个知识点。以下是对这些知识点的详细解析: ### ACM国际大学生软件大赛简介 ACM(Association for Computing Machinery)国际大学生软件大赛是...
算法题_SVM-maste测试系统
华为od算法题,100分题-最多提取子串数目-Java解法
《算法大全-面试题-数据结构.pdf》是一个深入探讨算法和数据结构的资源,对于程序员,尤其是准备面试的开发者来说,这是一个极其宝贵的学习材料。它涵盖了算法和数据结构的基础概念,以及在实际问题中的应用,旨在...
计算机算法设计与分析课后习题算法实现题1-3最多约数问题,标准代码
3. **算法设计与选择**:根据问题的特点,选择合适的算法或设计新的算法。 4. **算法指标**:定义评价算法优劣的标准,如时间复杂度、空间复杂度等。 5. **算法分析**:评估所选算法的有效性和效率。 6. **算法实现*...