Pagini recente » Cod sursa (job #38603) | Cod sursa (job #2065240) | Cod sursa (job #1284062) | Cod sursa (job #1792999) | Cod sursa (job #2617674)
from math import log
def convert(k):
K = []
for values in k.values():
for value in values:
K.append(value)
return K
def radixsort(l):
if len(l)==0 or max(l)==0:
return l
baza_radix = 10
curent = 1
k = {}
n = (int(log(max(l), baza_radix)) + 1)
for _ in range(n):
for i in range(baza_radix):
k[i] = []
for i in l:
k[(i // curent) % baza_radix].append(i)
l = convert(k)
curent *= baza_radix
return l
with open("radixsort.in","r") as f:
x = f.readline().split()
n, a, b, c = int(x[0]), int(x[1]), int(x[2]), int(x[3])
l = [b]
for i in range(n-1):
l.append((a * l[-1] + b)%c)
print(l)
l = radixsort(l)
print()
print(l)
with open("radixsort.out",'w') as g:
for i in range(0,len(l) - 1,10):
g.write(str(l[i])+" ")