一,思路:
在题目给出的5个数字(1,3,6,10,15)中,存在一定的倍数关系,例如 1最多只能选2个,因为如果选3个那还不如选 3。所以我们直接暴力枚举所有方案。
二,代码:
#include <iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
void Solved(){
int n;
cin>>n;
int cnt=2e9;
for(int i=0;i<=2;i++){
for(int j=0;j<=1;j++){
for(int k=0;k<=4;k++){
for(int t=0;t<=2;t++){
int target=n-i-j*3-k*6-t*10;
if(target<0||target%15!=0) continue;
cnt=min(cnt,i+j+k+t+target/15);
}
}
}
}
cout<<cnt<<endl;
}
int main()
{
int t;
cin>>t;
while(t--) {
Solved();
}
return 0;
}