笔试题kugou


编程题

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

例如,输入20,输出3。


思路:不是特别难,但不太好思考。。。

package test;

import java.util.Scanner;

public class BuyOrange {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int result = func(n);
		System.out.println(result);
		
	}
	private static int func(int n){
		int res=n/8;
		int yushu=n%8;
		if(yushu==0){
			return res;
		}else{
			while(res>=0){
				if(yushu%6==0){
					return res+yushu/6;
				}
				res--;
				yushu=yushu+8;
			}
		}
		return -1;
	}

}

你可能感兴趣的:(笔试题kugou)