小明去附近的水果店买橙子,水果商贩只提供整袋购买,有每袋6个和每袋8个的包装(包装不可拆分)。可是小明只想购买恰好n个橙子,并且尽量少的袋数方便携带。如果不能购买恰好n个橙子,小明将不会购买。请根据此实现一个程序,要求: 输入一个整数n,表示小明想要购买n(1≤n≤100)个橙子 输出一个整数表示最少需要购买的袋数,如果不能买恰好n个橙子则输出-1 例如,输入20,输出3。

import java.util.Scanner;

public class test {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int n = sc.nextInt();
int res,yushu,res6=0,m;
while (n>0){
if (n%8==0){
res=n/8;
System.out.println(res);
return;
} else {
yushu = n % 8;
res = n / 8;
if(yushu % 6 == 0){
res6 =yushu/6;
}else {
while (yushu % 6 != 0){
m=n-(res-1)*8;
yushu = m % 6;
res=res-1;
if(res<1){
System.out.println(-1);
return;
}
res6=m/6;
}
}
System.out.println(res+res6);
return;
}
}
}
}

猜你喜欢

转载自www.cnblogs.com/yikuan-919/p/9331063.html