酷狗2018——买橘子

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

【思路】
对于输入n,n/8 = m ,如果(n-8i)%6 == 0 说明n可以整除8,正好买m袋8个的,或者在依次递减,减少i袋8个的可以整除6,结果就是m袋8个的和(n-8i)/6 袋6个的。

【实现】

import java.util.Scanner;
import java.util.Stack;

public class kugou1 {
	public static void main(String[] args) {
		//输入一个整数
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();//输入n位需要购买的n个橙子
		int result = getMinPackage(n);
		System.out.println(result);
	}
	
	public static int getMinPackage(int n){
		int num = 0;
		for(int i = n/8;i>=0;i--){
			if((n-8*i)%6 == 0){
				num = i+(n-8*i)/6;
				return num;
			}
		}
		return -1;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_39795049/article/details/89057209