为了账号安全,请及时绑定邮箱和手机立即绑定

在不运行程序的情况下进行计算

在不运行程序的情况下进行计算

慕妹3242003 2021-10-28 15:37:35
我被要求命名下面的算法将在运行后输出的变量 x 的值。我不知道如何在不实际将其写入实际 Java 程序的情况下计算它。解应该是 1024。我如何在纸上计算这个?算法:int n = 4;int x = 1;for (int i = 1; i <= n; i++) {    for (int j = 1; j <= i; j++) {       x += x;    }}System.out.println(x);
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

x += x 双打 x每次执行最里面的语句时。内循环执行1 + 2 + 3 + 4 = 4 * (4 + 1) / 2 = 10次数。因此,结果必须是2^10 = 1024

对于一般来说n,它应该是这样的2^((n + 1) * n / 2)

1 + 2 + ... + n = (n + 1) * n / 2有时称为“高斯求和公式”的事实,下次看到两个嵌套循环时,您应该记住它,其中内部索引的范围取决于外部索引。


查看完整回答
反对 回复 2021-10-28
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

几乎没有足够的迭代,您可以从字面上将其写出来并保持运行记录:


i = 1


j = 1 to 1

1) x = x + x      2


i = 2


j = 1 to 2

1) x = x + x      4

2) x = x + x      8


i = 3


j = 1 to 3


1) x = x + x     16

2) x = x + x     32

3) x = x + x     64


i = 4


j = 1 to 4


1) x = x + x    128

2) x = x + x    256

3) x = x + x    512

4) x = x + x   1024 


查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信