import sys n = int(input()) count = 0 # 优先购买8个橙子的袋子 while n >= 8: n -= 8 count += 1 # 判断最后所缺橙子数是否为偶数,如果是奇数,则不能满足恰好购买n个橘子 if n % 2 == 0: print(count + 1) else: print(-1)
所缺橙子数为偶数的情况,n的取值只有2、4、6。显然n=6的情况是最直接的,直接在购买一个装6个橙子的袋子就可以,故最小的袋子数为 count + 1 个。对于另外两种情况,只需找到让n加上最少的8使得,n为6的倍数就行。
当n=2时, 需要加上2个8,此时n=18,而18 / 6 = 3,故最少需要 count - 2 + 3 = count + 1 ;
当n=4时, 需要加上1个8,此时n=12,而12 / 6 = 2,故最少需要 count - 1 + 2 = count + 1 ;
终上所述,当所缺橙子数为偶数时,最少需要购买 count + 1 袋。