一個小學的數學題

近日在微信羣裏,一位朋友分享了一個小學的數學題目,題目大意以下:
"""
小學奧數題目:
有一個小於500的三位數abc,對這個三位數,甲乙丙丁有以下說法:
甲:abc能夠被2整除3次;
乙:abc能夠被3整除2次;
丙:abc能夠被7整除;
丁:abc的各個數字之和是15;
已知甲乙丙丁有一我的說了謊言;
請問2a+b-c=?
"""
最開始準備使用枚舉法嘗試獲取答案,可是結果繁瑣.因而靈機一動.寫了一個簡單的程序來循環判斷獲得了答案.python示例代碼以下:python

def main():編程

# 定義變量num,表明這個整數
for num in range(1, 500):  # 循環1-500的整數
    a = num // 100  # 得到百位數
    b = (num // 10) % 10  # 得到十位數
    c = num % 10  # 得到個位數

    Fir = num % (2*2*2)  # 甲

    Sec = num % (3*3)  # 乙

    Thi = num % 7  # 丙

    For = a + b + c  # 丁

    if Fir == 0 and Sec == 0 and Thi == 0:  # 假設丁說謊,甲乙丙的條件成立
        print('丁說謊,abc=%s' % num)
        print('2a+b-c=%s' % (2*a + b - c))

    elif Fir == 0 and Sec == 0 and For == 15:  # 假設丙說謊,甲乙丁的條件成立
        print('丙說謊,abc=%s' % num)
        print('2a+b-c=%s' % (2 * a + b - c))

    elif Fir == 0 and Thi == 0 and For == 15:  # 假設乙說謊,甲丙丁的條件成立
        print('乙說謊,abc=%s' % num)
        print('2a+b-c=%s' % (2 * a + b - c))

    elif Sec == 0 and Thi == 0 and For == 15:  # 假設甲說謊,乙丙丁的條件成立
        print('甲說謊,abc=%s' % num)
        print('2a+b-c=%s' % (2 * a + b - c))

if name == '__main__':微信

main()

運行結果:
乙說謊,abc=168
2a+b-c=0
其實邏輯判斷條件很簡單,同時認爲其實編程思想能夠用來解決不少的實際生活問題,而非一味的碼代碼~code

相關文章
相關標籤/搜索