1个回答
展开全部
for(i = 1; i <= n ; i++)
{
if(2 * i <= n) //此处有效的i值就是 n/2,即共执行n/2次
{
for(j = 2*i; j <= n; j++) //执行次数 = (n-2*1+1) + (n-2*2+1) + ... + (n - 2*(n/2) + 1)
= (n-1)+(n-3)+...+1
= (3/4)*n*n + (3/2)*n
y = y + i * j;//此句共执行(n/2)*((3/4)*n*n + (3/2)*n) = (3/8)*n*n*n + (3/4)*n*n次
}
}
{
if(2 * i <= n) //此处有效的i值就是 n/2,即共执行n/2次
{
for(j = 2*i; j <= n; j++) //执行次数 = (n-2*1+1) + (n-2*2+1) + ... + (n - 2*(n/2) + 1)
= (n-1)+(n-3)+...+1
= (3/4)*n*n + (3/2)*n
y = y + i * j;//此句共执行(n/2)*((3/4)*n*n + (3/2)*n) = (3/8)*n*n*n + (3/4)*n*n次
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询