3 条题解

  • 0
    @ 2026-1-11 10:49:47

    想当初我第一次在校内选拔时看到的时候感觉要用for循环,但其实仔细思考后可以不用,我自己推导了一个这种数列的求和公式: (n(n+1)/2)(k(k1)/2)(n(n+1)/2)-(k(k-1)/2) 其中n为结束数字,k为起始数字,原理很简单,我先把从一到n的数列进行求和,再把k之后的一个到一的数列进行求和,两式一减,可得上式,把带入一,就是我们常见的等差为一的等差数列求和公式,代码如下:

    a=int(input())
    b=int (input())
    c=b*(b+1)
    d=c/2
    e=a*(a-1)
    f=e/2
    g=d-f
    print(int (g))
    
    

    注意最后要int一下,不然最后虽然是整数但会有.0,过不了AC(别问我怎么知道的)

    信息

    ID
    153
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    (无)
    递交数
    10
    已通过
    29
    上传者