Mam dwa algorytmy:
// k - zadana kwota, x=0 - wynik
// N - zbior (tablica o dlugosci l)
// nominalow
while (k>0)
{
int n=0;
for (int i=0;i<l;++i)
if((N[i]<=k)&&(N[i]>n)) n=N[i];
k -= n;
++x;
}
#define INFINITY 2147483647
typu integer
/*
...
*/
- a - liczba nominałów, k - żądana * kwota
int T[k+1];
T[0] = 0;
for (int i=1;i<=k;++i) T[i]=INFINITY;
for (int i=1;i<=a;++i)
{
int n;
scanf("%d",&n);
for (int j=0;j<=k-n;++j)
if (T[j] < INFINITY)
if (T[j]+1 < T[j+n])
T[j+n] = T[j]+1;
}
Proszę pomóżcie określić mi ich złożoność obliczeniową!?