小明去附近的水果店买橙子,水果商贩只提供整袋购买,有每袋6个和每袋8个的包装(包装不可拆分)。
可是小明只想购买恰好n个橙子,并且尽量少的袋数方便携带。如果不能购买恰好n个橙子,小明将不会购买。
请根据此实现一个程序,要求:
输入一个整数n,表示小明想要购买n(1≤n≤100)个橙子
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个橙子则输出-1
例如,输入20,输出3。
import java.util.Scanner;
public class Ming {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int count = Integer.parseInt(sc.nextLine());
if (count < 6 || count%2 != 0){
System.out.println(-1);
return;
}
count /= 2;
int r = -1;
int en = count / 4;
int sn = 0;
if (count % 4 == 0) {
System.out.println(en);
return;
}
int tmp = 0;
while (en >= 0){
tmp = en * 4;
while (tmp < count){
tmp += 3;
sn++;
}
if (tmp == count){
r = en + sn;
break;
}
sn = 0;
en--;
}
System.out.println(r);
}
}