Moh*_*ziz 0 python algorithm optimization performance
有什么方法可以从 1 到 n 求和奇数但没有任何循环,如果没有办法我如何通过快速算法创建它以在少于 n 个循环中完成此任务。
您可以利用算术级数中的求和来求和第一个n奇数(而不是从0到的奇数n)
a = 1 # from 1
n = 9999 # to n
d = 2 # and skip every even number
n = int((n - a) / d + 1) # locate the number of term for n
sum = int((n / 2) * (2 * a + (n - 1) * d))
Run Code Online (Sandbox Code Playgroud)
时间复杂度:O(1),无循环
参考:求和算术系列
编辑:适合 even 的情况n,例如10000
if n % 2 == 0:
n = n - 1 # to eliminate the case 10000 and find range 1-9999
Run Code Online (Sandbox Code Playgroud)