C/C++の宿題片付けます 137代目
■ このスレッドは過去ログ倉庫に格納されています
0577デフォルトの名無しさん
2010/07/06(火) 23:36:32#include<stdio.h>
#include <limits.h>
int coinfunc(int *c, int k, int m)
{
int i, tmp, min = INT_MAX;
if (m == 0)
return 0;
else if (m < 0)
return -1;
for (i = 0; i < k; i++) {
tmp = coinfunc(c, k, m - c[i]);
if (tmp < 0)
continue;
else if (tmp < min)
min = tmp;
}
return min + 1;
}
int main(void)
{
int m, c[] = {1, 5, 8, 10, 15};
while (scanf("%d", &m) != 1)
scanf("%*[^\n]");
printf("%d\n", coinfunc(c, sizeof(c)/sizeof(*c), m));
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています