问题描述:用盒子装钻石,盒子分为两种:6颗装和8颗装。给定钻石数,现在用这两种盒子去装,求恰好完全装下时需要的最少盒子数,输出该最小值;当不能恰好完全装下时(即有盒子没装满),则输出-1。
输入:输入一个整数n
输出:输出盒子最小值或者-1。
C++代码:
#include<iostream>
using namespace std;
int main(){
int n; // 个数
cin >> n;
int a[17];
int min;
int minIndex;
int k = 0;
int num = 0;
for(int i = 0 ; i < 17 ; i ++){
for(int j = 0 ; j < 17 ; j ++){
if((8*i+6*j) == n){
a[k] = i + j;
k++;
num++;
}
}
}
if(num == 0){ // 盒子没装满
min = -1;
}
else{
for(int u = 0 ; u < k ; u ++){
minIndex = u