#include <iostream>
using namespace std;
// int TotalC=0;
int bestC=-1;
void findLeastBag(int n, int c){
if(n==0){
if(bestC==-1 || c<bestC){
bestC=c;
}
return;
}
else if(n<0){
return;
}
findLeastBag(n-6,c+1);
findLeastBag(n-8,c+1);
}
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
// TotalC = n;
findLeastBag(n,0);
printf("%d",bestC);
}
}
// 64 位输出请用 printf("%lld")
n个橘子,0个袋子
n-6, n-8, 1个袋子,
依次类推...
n<0结束递归,n=0记录最小袋子的数量,然后结束递归

京公网安备 11010502036488号