C/C++算法競賽入門經典Page9 例題1-4 雞兔同籠
阿新 • • 發佈:2017-08-25
blog 兩個 pan scan spa printf col 判斷 ()
題目:雞和兔總數:n,總腿數:m.輸入n,m,輸出雞和兔分別的數量;無解則輸出"No answer"
樣例輸出1:
14 32
樣例輸出1:
12 2
樣例輸入2:
10 16
樣例輸出2:
No answer
首先,聲明兩個變量n,m對應總數和總腿數;再聲明兩個變量為雞和兔各自的數量a,b
1 int n,m,a,b;
輸入n,m:
scanf("%d%d",&n,&m);
通過聯立方程組:
a+b=n
2a+4b=m
得:
a=(4n-m)/2; b=n-a;
判斷是否無解:
1.總腿數m不能為奇數
2.a>=0
3.b>=0
則:
if(m%2==1||a<0||b<0) printf("No answer");
如果有解,則輸出a,b:
else printf("%d %d",a,b);
完整代碼:
//P9 例1-4雞兔同籠 #include <cstdio> int n,m;//n:總數量 m:總腿數 int main() { int a,b;//a:雞的數量 b:兔的數量 scanf("%d%d",&n,&m);//輸入總數量n和總腿數m a=(4*n-m)/2;//聯立方程組2a+4b=m和a+b=n b=n-a;if(m%2==1||a<0||b<0)//總腿數不能是奇數且雞和兔的數量都不能是負數 printf("No Answer"); else printf("%d %d",a,b); return 0; }
C/C++算法競賽入門經典Page9 例題1-4 雞兔同籠