⑴ 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,就可以算出共有多少只兔。
概括起來,解雞兔同籠題的基本關系式是:兔數=(實際腳數-每隻雞腳數×雞兔總數)÷(每隻兔子腳數-每隻雞腳數)。類似地,也可以假設全是兔子。