⑴ c语言算法,鸡兔同笼
已知鸡和兔的总数量为n,总腿数为m,输入n和m,依次输出鸡的数目和兔的数目。如果无解则输出No answer。
输入:
两个整数b和m,如上所述。
输出:
鸡的数目和兔的数目。
我们假设a = 鸡只数,b = 兔只数(兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数)=鸡的只数,a = ( 4*n - m )/2。
总只数-鸡的只数=兔的只数,b = n - a。
具体代码:
#include "stdio.h"
int main() {
int a,b,n, m;
// a鸡的数量
// b兔的数量
// n鸡兔总数
// m总脚数
scanf("%d %d", &n,&m);
a = (4 * n - m) / 2;//算出鸡的数量
b = n - a;//算出兔的数量
if (a <= 0 || b <= 0) {
//结果小于等于0,答案不成立,无解
printf("No answer");
} else {
//结果大于0
printf("%d %d", a, b);
}
return 0;
}
(1)c语言如何用迭代算法求兔子数量扩展阅读:
鸡兔同笼解题思路:如果先假设它们全是鸡,于是根据鸡兔的总数就可以算出在假设下共有几只脚,把这样得到的脚数与题中给出的脚数相比较,看看差多少,每差2只脚就说明有1只兔,将所差的脚数除以2,就可以算出共有多少只兔。
概括起来,解鸡兔同笼题的基本关系式是:兔数=(实际脚数-每只鸡脚数×鸡兔总数)÷(每只兔子脚数-每只鸡脚数)。类似地,也可以假设全是兔子。