小易去附近的商店買蘋果,奸詐的商販使用了捆綁交易,只提供6個每袋和8個每袋的包裝(包裝不可拆分)。 可是小易現在只想購買恰好n個蘋果,小易想購買儘量少的袋數方便攜帶。如果不能購買恰好n個蘋果,小易將不會購買。
輸入描述:
輸入一個整數n,表示小易想購買n(1 ≤ n ≤ 100)個蘋果
輸出描述:
輸出一個整數表示最少需要購買的袋數,如果不能買恰好n個蘋果則輸出-1
輸入例子:
20
輸出例子:
3
import java.util.Scanner;
public class Main {
public static void main(String[] arg) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
int n = scan.nextInt();
System.out.println(solve(n));
}
scan.close();
}
private static int solve(int n) {
int ans = 0;
while (n >= 6) {
if (n % 8 == 0) {
ans += (n >> 3);
n = 0;
}else {
n -= 6;
++ans;
}
}
return n == 0 ? ans : -1;
}
}