雞兔同籠問題是一個典型的數學問題,可以使用循環和條件語句來解決。
首先,我們需要明確問題的條件和目標。假設籠子里共有n只動物(包括雞和兔),總腿數為m。問題的目標是求解雞和兔的數量。
我們可以使用兩個循環來窮舉所有可能的情況。設雞的數量為i,兔的數量為n-i,則雞的腿數為2i,兔的腿數為4(n-i)。我們可以通過判斷腿數是否等于m來確定當前情況是否符合條件。
下面是一個示例代碼:
#include <stdio.h>
int main() {
int n, m;
printf("請輸入動物的總數量:");
scanf("%d", &n);
printf("請輸入總腿數:");
scanf("%d", &m);
int i, j;
int flag = 0; // 標記是否找到解
for (i = 0; i <= n; i++) {
if (2*i + 4*(n-i) == m) {
printf("雞的數量:%d,兔的數量:%d\n", i, n-i);
flag = 1; // 找到解
break;
}
}
if (!flag) {
printf("無解\n");
}
return 0;
}
這段代碼中,我們通過循環遍歷所有可能的雞的數量i(從0到n),并計算對應的兔的數量(n-i)。然后判斷當前情況下的腿數是否等于m,如果是,則輸出解,并設置標記flag為1。如果遍歷完所有可能的情況后,flag仍為0,則說明無解。
請注意,這段代碼沒有考慮輸入的有效性,比如n和m為負數的情況,以及無解的情況。在實際應用中,可能需要對輸入進行合法性檢查,并進行相應的錯誤處理。