Lucky and even lucky numbers: Difference between revisions

no edit summary
(Added Kotlin)
No edit summary
Line 655:
<pre>
evenLucky number: 10000 ───► 111842
</pre>
 
=={{header|Ring}}==
<lang ring>
# Project : Lucky and even lucky numbers
# Date : 2017/11/07
# Author : Gal Zsolt [~ CalmoSoft ~]
# Email : <calmosoft@gmail.com>
 
lucky = list(50)
dellucky = []
for n = 1 to 50
lucky[n] = 2*n-1
next
see "the first 20 lucky numbers:" + nl
luckynumbers(lucky)
showarray(lucky)
see nl
 
lucky = list(50)
dellucky = []
for n = 1 to 50
lucky[n] = 2*n
next
see "the first 20 even lucky numbers:" + nl
luckynumbers(lucky)
showarray(lucky)
see nl
 
lucky = list(20000)
dellucky = []
for n = 1 to 10000
lucky[n] = 2*n-1
next
see "lucky numbers between 6,000 and 6,100:" + nl
luckynumbers2(lucky)
showarray2(lucky)
see nl
 
lucky = list(20000)
dellucky = []
for n = 1 to 10000
lucky[n] = 2*n
next
see "even lucky numbers between 6,000 and 6,100:" + nl
luckynumbers2(lucky)
showarray2(lucky)
see nl
 
func luckynumbers(lucky)
for n = 2 to len(lucky)
dellucky = []
for m = lucky[n] to len(lucky) step lucky[n]
add(dellucky, m)
next
for p = len(dellucky) to 1 step -1
del(lucky, dellucky[p])
next
next
 
func luckynumbers2(lucky)
for n = 2 to len(lucky)
dellucky = []
for m = lucky[n] to len(lucky) step lucky[n]
add(dellucky, m)
next
for p = len(dellucky) to 1 step -1
del(lucky, dellucky[p])
next
if lucky[n] >= 6100
exit
ok
next
 
func showarray(vect)
see "["
svect = ""
for n = 1 to 20
svect = svect + vect[n] + ", "
next
svect = left(svect, len(svect) - 2)
see svect
see "]" + nl
 
func showarray2(vect)
see "["
svect = ""
for n = 1 to len(vect)
if vect[n] >= 6000 and vect[n] <= 6100
svect = svect + vect[n] + ", "
ok
next
svect = left(svect, len(svect) - 2)
see svect
see "]" + nl
</lang>
Output:
<pre>
the first 20 lucky numbers:
[1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 49, 51, 63, 67, 69, 73, 75, 79]
 
the first 20 even lucky numbers:
[2, 4, 6, 10, 12, 18, 20, 22, 26, 34, 36, 42, 44, 50, 52, 54, 58, 68, 70, 76]
 
lucky numbers between 6,000 and 6,100:
[6009, 6019, 6031, 6049, 6055, 6061, 6079, 6093]
 
even lucky numbers between 6,000 and 6,100:
[6018, 6020, 6022, 6026, 6036, 6038, 6050, 6058, 6074, 6090, 6092]
</pre>
 
2,468

edits