算法5-----三個數大小比較


題目:

X,Y,Z三個整數,若干次操作讓X,Y,Z變為相等,每次操作有兩種操作可選:

操作1:從X,Y,Z中選擇兩個數,都加1

操作2:從X,Y,Z選擇一個數,加2

計算最少需要多少次操作令X,Y,Z變為相等。

輸入:三個整數A,B,C(0<=A,B,C<=100)

輸出:一個整數表示最少需要的操作次數。

思路:

判斷X,Y,Z的大小,找出最大的數,用最大的數分別減去小的兩個數得到兩個差。若兩個差的和為偶數,則返回次數為(差的和)//2 ,若兩個差的和為奇數,則返回次數為(差的和)//2+2。

def Numsequal(x,y,z):
    maxnum=max(x,y,z)
    if x==maxnum:
        mius1=x-y
        mius2=x-z
    elif y==maxnum:
        mius1=y-x
        mius2=y-z
    elif z==maxnum:
        mius1=z-x
        mius2=z-y
    if (mius1+mius2)%2==0:
        return (mius1+mius2)//2
    else:
        return (mius1+mius2+1)//2+1
if __name__=="__main__":
    x=int(input())
    y=int(input())
    z=int(input())
    print(Numsequal(x,y,z))

 

 


免責聲明!

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



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