为什么 x 是 5050?

0 java

for(i = 1;i <= 100;i++)
    for(j = i; j <= 100; j++)
        x++;
System.out.println(x);
Run Code Online (Sandbox Code Playgroud)

一开始我以为结果是 10.000,但结果是 5050。为什么?i 有什么变化?

Lou*_*man 8

答案 5050 是正确的,假设x为 0(根据您的结果显示)。它不是 10,000 的原因是行j = i而不是 eg j = 1,这使它成为 100 + 99 + 98 + ... + 1 = 5050。

  • @CharlieArmstrong 在执行代码时必须假设 0,并且得到的输出 OP 是 5050,x = 0 是唯一能让给定代码成立的数字 (3认同)