趣味编程:计算自然数是否等于N个连续的自然数相加。

今天看见一道趣味编程题:

判断某个自然数,是否可以由N个连续的自然数相加得到。例如:

2+3=5

2+3+4=9

4+5=9

现输入一个自然数,获取他是否能由N个连续的自然数,我用 python 实践了一把:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def GetInts(num,n=2):
    myList=[]
    minNum=0
    if n%2==0:
        if num%n==n/2:
            minNum=num/n-n/2+1
        else:
            return
    else:
        if num%n==0:
            minNum=num/n-n/2
        else:
            return
    for i in range(minNum,minNum+n):
        myList.append(i)
        print i
    return myList
 
myNum = int(raw_input('请输入要计算的数字 '))
myN = int(raw_input('请输入连续的数字个数 '))
myList=GetInts(myNum,myN)
    分享到:


发表评论

*

*

内容: