公马,母马,马驹个至少个一匹,编程求公马、母马和马驹个多少?

 

for i in range(33):
    j = 100-5*i
    if j <= 0:
        break
    if j%3==0: 
        j = j /3       
        print("公马有",i,"匹,母马有",j,"匹,马驹有",(100-i-j),"匹\n")
    

补充一下代码叭~

算法比较经典,偏数学一点。

首先设公马x,母马为y,小马驹则为(100-x-y),列出方程100 = 3x+2y+(100-x-y)/2。合并之后可得,

y=(100-5x)/3。这个题目还有隐藏条件,就是马都是整数,因此现在只需要考虑,x的值从1到32(因为母马和小马至少一个,所以瓦片数只让公马运最多97个,也就是33匹)的哪些数值可以使得(100-5x)能被3除尽。之后用for循环将x遍历一下就可以了。