有3个方格,每个方格里面都有一个整数a1,a2,a3。已知0 <= a1, a2, a3 <= n,而且a1 + a2是2的倍数,a2 + a3是3的倍数, a1 + a2 + a3是5的倍数。你的任务是找到一组a1,a2,a3,使得a1 + a2 + a3最大。
输入
一行,包含一个整数n (0 <= n <= 100)。
输出
一个整数,即a1 + a2 + a3的最大值。
样例输入
3
样例输出
5
n = int(input())
max = (3 * n) // 5 * 5
for t in range(max, -1, -5):
for a2 in range(n, -1, -1):
a3a = min(n, t - a2)
for a3 in range(a3a, -1, -1):
if (a2 + a3) % 3 == 0 and (t - a3) % 2 == 0 and (t - a2 - a3) <= n:
print(t)
exit(0)
思路来源转载:https://blog.csdn.net/yedouble/article/details/105065939