Witam,
Chciałabym prosić o pomoc w ustaleniu, czy algorytm ma złożoność czasową lepszą bądź gorszą od kwadratowej. Wiem, że jest to prymitywnie napisane,ale dopiero niedawno zaczęłam przygodę z programowaniem.
Kod:
def kasa(C):
raz = 0
dwa = 0
pięć = 0
dziesięć = 0
dwadzieścia = 0
pięćdziesiąt = 0
wyniki = []
if C == 0:
return None
if C > 4:
wyniki += parzyste_1(C)
while C >= 50:
C = C - 50
pięćdziesiąt +=1
while C >= 20:
C = C - 20
dwadzieścia +=1
while C >= 10:
C = C - 10
dziesięć += 1
while C >= 5:
C = C-5
pięć += 1
while C >= 2:
C = C - 2
dwa += 1
while C >= 1:
C = C - 1
raz += 1
wyniki += raz,dwa,pięć,dziesięć,dwadzieścia,pięćdziesiąt
while pięćdziesiąt >= 1:
pięćdziesiąt -= 1
dwadzieścia += 2
dziesięć +=1
wyniki += raz,dwa,pięć,dziesięć,dwadzieścia,pięćdziesiąt
while dwadzieścia >= 1:
dwadzieścia -= 1
dziesięć += 2
wyniki += raz,dwa,pięć,dziesięć,dwadzieścia,pięćdziesiąt
while dziesięć >= 1:
dziesięć -= 1
pięć += 2
wyniki += raz,dwa,pięć,dziesięć,dwadzieścia,pięćdziesiąt
while pięć >= 1:
pięć -= 1
dwa += 2
raz += 1
wyniki += raz,dwa,pięć,dziesięć,dwadzieścia,pięćdziesiąt
while dwa >= 1:
dwa -= 1
raz += 2
wyniki += raz,dwa,pięć,dziesięć,dwadzieścia,pięćdziesiąt
return len(wyniki)//6