题目描述
鸡兔同笼问题:已知鸡和兔的总量为n,总腿数为m,输入n和m,依次输 出鸡和兔的数目,如果无解,则输出“No answer”。
输入
鸡和兔的总量n,总腿数m。
输出
依次输出鸡和兔的数目,如果无解,则输出“No answer”。
样例输入
10 20
样例输出
10 0
分析
“全兔法”:设鸡的只数为a,兔为b
a=(4*n-m)/2;
b=n-a;
Q:什么情况下是无解的?
• 脚的只数是奇数
• 鸡和兔的只数不可能是负数
m%2!=0||a<0 || b<0
AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
int m;
cin>>n>>m;
int a,b;
a=(4*n-m)/2;
b=n-a;
if(m%2!=0||a<0||b<0){
cout<<"No answer";
return 0;
}
cout<<a<<" "<<b;
return 0;
}
完结撒花❀
*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
本文解析了鸡兔同笼问题的算法,介绍了'全兔法'求解过程,并明确了无解情况,提供了一个C++代码示例。重点在于理解何时会出现无解,如脚数为奇数或数量出现负数的条件。

1098

被折叠的 条评论
为什么被折叠?



