Fairshare between two and more: Difference between revisions

Content added Content deleted
No edit summary
Line 1,423: Line 1,423:
=={{header|Ring}}==
=={{header|Ring}}==
<lang ring>
<lang ring>
str = []
str = []
people = [2,3,5,11]
people = [2,3,5,11]

result = list(len(people))
for i=1 to len(people)
result = people
for i in people
str = []
str = []
see "" + people[i] + ": "
see "" + i + ": "
fairshare(25, people[i])
fair(25, i)
for n = 1 to len(result)
for n in result
add(str,result[n])
add(str,n)
next
next
showarray(str)
showarray(str)
next
next
func fair n,base


func fairshare(n,base)
result = list(n)
result = list(n)
for i=1 to n
for i=1 to n
j = i-1
j = i-1
t = 0
t = 0
while j>0
while j>0
t = t + j % base
t = t + j % base
j = floor(j/base)
j = floor(j/base)
Line 1,447: Line 1,449:
result[i] = t % base
result[i] = t % base
next
next
return [base,result]
func showarray vect

func showarray(vect)
see "["
svect = ""
svect = ""
for n = 1 to len(vect)
for n in vect
svect = svect + " " + vect[n] + ","
svect += " " + n + ","
next
next
svect = left(svect, len(svect) - 1)
svect = left(svect, len(svect) - 1)

see svect
see "]" + nl</lang>
? "[" + svect + "]"
</lang>
{{out}}
{{out}}
<pre>
<pre>