记录一下
题目描述
小A有n枚硬币,现在要买一样不超过m元的商品,他不想被找零,同时又不想带太多的硬币,且硬币可以重复,现在已知这n枚硬币的价值,请问最少需要多少硬币就能组合成所有可能的价格?
输入描述:
第一行两个数:n、m。 下一行,共n个数字,表示硬币的面值。
输出描述:
一行一个数,表示最少需要多少硬币。如果无解请输出“No answer!!!”
示例
输入5 31
1 2 8 4 16
输出5
#include <stdio.h>
#include <stdlib.h>
void solution(int n, int m, arr []int){
// TODO: 请在此编写代码
}
int main() {
int tem_arr[2];
for (int i = 0; i < 2; i++)
{
scanf("%d", &tem_arr[i]);
}
int n = tem_arr[0];
int m = tem_arr[1];
int* arr;
arr = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
solution(n, m, arr);
return 0;
}