for(int i = 0; i<n; i++)  if(i>n/2) break;for(int i=0; i<n; i++)  Console.writeLine<<i*i<<' ';以上两行代码的循环体执行的次数各是多少?求具体解答.. 我有答案..但是没过程,,悲剧死了。

解决方案 »

  1.   

    for(int i = 0; i<n; i++) if(i>n/2) break;
    相当于
    for(int i = 0; i<=n/2; i++) if(i>n/2) break;
    所以循环次数:n/2第二个就是n
      

  2.   


       
    本人愚见:
    第一题:
    如果n<3,执行次数=n;
    如果n=>3,并且n为偶数,执行次数= n/2+2;
    如果n=>3,并且n为奇数,执行次数= (n+3)/2;
    可以参照下面的数据: n     执行次数
    01      01
    02      02
    03      03
    04      04
    05      04
    06      05
    07      05
    08      06
    09      06
    10      07
    11      07
    12      08
    13      08
    14      09
    15      09
    16      10
     .       .
     .       .
     .       .
    100      52
     .       .
     .       .
     .       .
    1000     502
     .       .第二题其实就是i的自加在小于等于n的范围内有效,当然是n啦。