给定数字 n,我需要求从 1 到 n 的数字之和。 示例输入和输出:
100
5050
所以我想到了 print(sum(range(int(input())+1))) 它在一行中解决了这个问题但是需要很长时间因为它是 O (n)。显然,如果我们知道数字 n 那么答案也可以在一行中给出:print(n * (n+1)/2) 但如何替换 n 与 input() 仍然使程序运行?
请您参考如下方法:
就好像它是 Javascript 一样;创建一个带有参数 n 的函数,然后立即使用 input() 的结果调用它:
(lambda n: n * (n + 1) / 2)(int(input()))
