如果我知道1 + 2 + 3 + .. + n = n *(n + 1)/ 2的结果,如何得到n?

zhenguoli

如果您知道的结果1+2+3+..+n,则为n*(n+1)/2
例如,如果结果为5050,那么我可以知道n100我如何获得该证书n但是,您只能n通过加法减法计算

我知道我可以得到n我的是,我可以从1遍历自然数为n,每不同的计算1+2+3+...+n一样11+21+2+3,...1+2+..+n每一个结果,然后我可以检查5050的话,我能找到n100但是我发现计算步骤将超过2000个步骤,因此找到一个好的算法可以找到n
谢谢!。

GrzegorzGórkiewicz

仅通过加法减法...只需将1中的数字相加并检查总和是否为给定数字。

用伪代码。给出5050。

number := 5050
next, sum := 0
while sum <= number
  next := next + 1
  sum := sum + next
return next

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

n = (n * (n + 1)) // 2 和 n = (n * (n + 1)) / 2 的差异;n = 整数(n)

如何使用R产生序列(1,2,3 ... n,2,3 ... n,3,4..n ... n-1,n)

如何获得n(n-1)(n-2)/ 6的结果

如何在给定数量的整数上打印1,2,3,.. N,(N-1),(N-2)

log_2(n + 1)-log_3(2n + 1)= O(1)是吗?

您能帮我解决递归关系T(1)= 5,并且对于所有n> = 2,T(n)= 2T(n-1)+(3 * n + 1)

获取旧数字的整数总和 1 + (1 + 2) + (1 + 2 + 3) + ... + (1 + 2 + 3 + ... + n)

我如何计算系列的总和 s = 1=(1! + 2! +3! . . + n!) % 1000000007 其中 n 范围从 0 到 10^6

求解:T(n)= T(n / 2)+ n / 2 +1

SymPy 简化不能 2*3**n/3 ---> 2*3**(n-1)

找到 f(n)=3logN + 1 + (1/2) + (1/2)^2 + ... + (1/2)^n 的紧界

如果我切割不同长度的杆,我如何获得总结果数为 2^(n-1) ?其中 n 是杆的长度

n/1 + n/2 + n/3 + 的 Big-O 复杂度

MATLAB - 重复行 n 次(从 A=[1;2;3] 创建 B=[1;2;3;1;2;3;1;2;3])

证明 5nˆ2 + 2n - 1 对于 n >= 1 是 O(nˆ2)

O(log n)解为1a + 2a ^ 2 + 3a ^ 3 + ... + na ^ n

计算1 +1!/ X + 2!/ X ^ 2 +…+ N!/ X ^ N

F(n)= F(n-1)-F(n-2)

如何从python列表中的字符串中删除\n1、\n2、\n3等?

csv.writer - 如何在 writerow(n1,n2,n3, ...nth) 中动态写入列?

(1/2)^ n的O大类

1 + a + a^2 + _ _ _ + a^n 的總和

2 ^ n`是`3 ^ n的顺序

如果 n 等于 2,那么为什么 n *= 3 + 5 结果不等于 n = n * 3 + 5

如何递归求解T(n)= 5T(n / 2)+ n ^ 2,T(1)= 2

使用`Int((n + 1)/ 2)`,`round(Int,(n + 1)/ 2)或`Int((n + 1)// 2)哪个更好?

是 ϴ(n)/n = ϴ(1) 吗?

在计算1 + 2 + 3 + 4 ... + N需要帮助吗?

Typeorm:检查属性值是1、2、3还是n