Pagini recente » Cod sursa (job #3179360) | Cod sursa (job #60451) | Cod sursa (job #2512838) | Cod sursa (job #523827) | Cod sursa (job #2558517)
def Count_Sort(p):
global l
c=[0]*10
v=[0]*len(l)
for i in l:
c[i//p%10]+=1
for i in range(1,10):
c[i] += c[i - 1]
i=len(l)-1
while i>=0:
v[c[l[i]//p%10]-1]=l[i]
c[l[i]//p%10]-=1
i-=1
for i in range(len(l)):
l[i]=v[i]
f = open("radixsort.in")
g = open("radixsort.out","w")
#l=f.readline().split()
#for i in range(len(l)) :
# l[i]=int(l[i])
s=[]
s=f.readline().split()
n=int(s[0])
a=int(s[1])
b=int(s[2])
c=int(s[3])
l=[0]*n
l[0]=b
for i in range(1,n) :
l[i]=(a * l[i-1] + b) % c
#radix sort:
maxim=max(l)
p=1
while p<maxim:
Count_Sort(p)
p*=10
i=0
while i <len(l):
g.write(str(l[i])+" ")
i+=10