答案 0 :(得分:1)
“最坏情况”(例如,如果您称打印大量问候是“最坏情况” ...)是当A均为零时(例如),因此所有<=都等于true。 但是此循环运行多少次? 不 n ^ 2:不是n + n + n + n次n ...看一下内循环!它不是从1到n-1,而是从1到i。因此打印输出的数量为1 + 2 + 3 + ... +(n-1)。恰好是n *(n-1)/ 2,即(n ^ 2-n)/ 2。证明非常容易(Gauss还是一个小男孩:-)),但是由于这是一个多项选择题,因此您只需测试一个n即可。
如果您想知道如何证明X = 1 + 2 + 3 + ... +(n-1)为n *(n-1)/ 2,这是高斯的把戏:在X上写两次X不同的顺序:
X = 1 + 2 + 3 + ... + (n-1)
X = (n-1) + (n-2) + (n-3) + ... + 1
现在将两个X相加。请注意,在每一列中如何有两个数字,它们的总和为n-1+(n-1)为n,2 +(n-2)为n,依此类推。因此,基本上整个总和具有n-1个n。所以
2*X = n * (n-1)
所以 X = n *(n-1)/ 2
您要解释的正是(n ^ 2-n)* 0.5。