MaxInt = 1000000 N = 3 V = [1, 3, 4] def leiaKogus(S): kogused=[MaxInt]*(S+1) kogused[0] = 0 viimased=[0]*(S+1) for i in range (1,S+1): for j in range (N): if (V[j] <= i): # kogused[i] = min(kogused[i - V[j]] + 1, kogused[i]); if kogused[i - V[j]] + 1< kogused[i]: kogused[i] = kogused[i - V[j]] + 1 viimased[i]=V[j] vahesumma=S loetelu=[viimased[S]] print(kogused) print(viimased) while vahesumma>0: vahesumma-=loetelu[-1] loetelu.append(viimased[vahesumma]) return [kogused[S], loetelu] print(leiaKogus(6))