已知香蕉 1 條 5 元,橘子 1 個 6 元,蘋果 1 個 10 元,至少要花掉 100 元,請列出所有可能的水果組合。
輸入 N (100 <= N <= 1000)
由小到大一律輸出 x,y,z 所有可能的組合,x,y,z 之間以一個空白字元隔開,且每一種組合結尾必須跳列。如果沒有答案,則輸出 No Solution。
===================================================================
N = input("Please input N: ") try: N = int(N) except ValueError: print("please input a number (100~1000)") else: if N < 100 or N > 1000: exit("100 < N < 1000") else: paraX = 5 paraY = 3 paraZ = 2 result = [] for x in range(0, N, paraX): for y in range(0, N - paraX * x, paraY): for z in range(0, N - paraY * y, paraZ): if (5 * x + 6 * y + 10 * z) == N \ and x > 0 and y > 0 and z > 0: tmp = [x, y, z] result.append(tmp) if len(result) == 0: exit('No Solution') for r in result: print('x=%d y=%d z=%d' %(r[0], r[1], r[2]))===================================================================
執行結果:
Please input N: 300
x=10 y=15 z=16
x=20 y=30 z=2
x=30 y=15 z=6
Please input N: 102
No Solution
沒有留言:
張貼留言