有一道数据额结构的题目不是很明白,for(i=0;i<n;i++) ,for(j=i;j<n;j++), s++。

答案说循环体s++的执行次数n+(n-1)+(n-2)+...+2+1=n(n+1)/2,为什么?

第1个回答  2013-11-19
这是个循环的嵌套
第一层循环从0运行到n-1
第二层循环从i运行到n-1
循环执行的内容是一个s自增
那么循环就是从0开始 第一次s自增n次 第2次自增n-1次 依次类推
则一直到最后s自增的执行次数即为n+(n-1)+(n-2)+...+2+1
按照等差求和公式 此式=n(n+1)/2本回答被提问者和网友采纳
第2个回答  2013-11-19
i从0递增到n-1,i每一次递增,j从i递增到n-1,也就是说i=0时,j从0递增到n-1,即s++执行了n次,下一次循环中i=1,j从1递增到n-1,s++执行了n-1次,依次类推
相似回答
大家正在搜