Python:求1+2+3+...+n的值

输入格式

输入包括一个整数n。

输出格式

输出一行,包括一个整数,表示1+2+3+...+n的值。

问题分析:

本题直接的想法是直接使用一个循环来累加,然而,当数据规模很大时,这种“暴力”的方法往往会导致超时。此时你需要想想其他方法。你可以试一试,如果使用1000000000作为你的程序的输入,你的程序是不是能在规定的上面规定的时限内运行出来。

思路:

既然不能采用累加,那就直接采用等差数列求和公式:

s=((a1+an)*n)/2

而且需要注意输出格式是整数。

代码如下:

def dengcha(n):
    s=((1+n)*n)/2
    print (round(s))
if __name__ =='__main__':
    dengcha(int(input()))

结果:

 

你可能感兴趣的:(Python,python,开发语言,后端)