为什么答案是错的,鸡兔同笼

img


#include
int main()
{
int c,r,feet,head,leap=0;

scanf("%d %d",&head,&feet);

for(c=0;c<=head;c++){
    for(r=0;r<=head;r++){
        if(r+c==head&&r*4+c*2==feet){
            leap=1;break;
        }
        
    }
}
if(leap) printf("chickens = %d; rabbits = %d",c,r);
else printf("No solution!");

return 0;    

}

leap=1;break; 这个只能跳出里面的循环,外层没有跳出
在上面第9和第10行之间,在加上 if(leap==1) break;

找到后如果不及时跳出来,c和r继续走

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^