开发者社区 问答 正文

关于重复输出的问题,求大神帮我看看

 #include<stdio.h>
int main()
{
    for(int i=1;i<=46;i++){
        for(int j=i+2;j<=48;j++){
            //for(int num1=i;num1<=46;num1++)  //为什么这两行写了就会出来很多重复的呢? 
                //for(int num2=j;num2<=48;num2++)
                    int change=0;
                    change=i*(i+1)-i-i-1;
                    change+=j*(j+1)-j-j-1;
                    if(change==(2015-1225)){
                        printf("%d %d\n",i,j);
                    }       
        }
    }

}

展开
收起
a123456678 2016-03-24 10:36:59 1785 分享 版权
1 条回答
写回答
取消 提交回答
  • 注释那两个for以后你有两组i,j满足条件,[10,27],[16,24]
    打开注释后,你想想,当i=10,j=27时,里面两个for循环每次循环都能满足if条件,都能打印,所以一共会打印
    (46-10+1)*(48-27+1)=814次
    当i=16,j=24时,又会打印(46-16+1)*(48-24+1)=775次
    楼主不信的话,可以弄个变量记录打印的次数

    2019-07-17 19:12:10
    赞同 展开评论
问答地址: