雞兔同籠
描述
大約在1500年前,《孫子算經》中就記載了這個有趣的問題。書中是這樣敘述的:
今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?
這四句話的意思是:
有若干只雞兔同在一個籠子里,從上面數,有35個頭,從下面數,有94只腳。問籠中各有多少只雞和兔?
請編一個程序,用戶在同一行內輸入兩個整數,代表頭和腳的數量,編程計算籠中各有多少只雞和兔,假設雞和兔都正常,無殘疾。如無解則輸出Data Error!
輸入格式
在一行里輸入兩個整數,用空格分隔
輸出格式
在一行里輸出兩個正整數,分別是雞和兔的數量,用空格分隔
如無解則輸出Data Error!
代碼
a, b = input().split() # 獲取a,b的字符串
a, b = eval(a), eval(b) # 通過評估函數將a,b轉換為整型
if a > 0 and b > 0: # 判斷都不為負數,否則輸出Data Error
for i in range(1, a): # 遍歷頭數
if i * 2 + (a - i) * 4 == b: # a-i是兔子的頭數
print(i, a - i) # 滿足條件輸出雞數和兔子的數量
break # 然后跳出循環
if i * 2 + (a - i) * 4 != b: # 如果遍歷完不滿足條件也輸出Data Error
print('Data Error!')
else:
print('Data Error!')