雞兔同籠_(Python123)


雞兔同籠

描述

大約在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!')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM