June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
40
Task/Casting-out-nines/Ring/casting-out-nines.ring
Normal file
40
Task/Casting-out-nines/Ring/casting-out-nines.ring
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Project : Casting out nines
|
||||
# Date : 2018/03/24
|
||||
# Author : Gal Zsolt [~ CalmoSoft ~]
|
||||
# Email : <calmosoft@gmail.com>
|
||||
|
||||
co9(1, 10, 99, [1,9,45,55,99])
|
||||
co9(1, 10, 1000, [1,9,45,55,99,297,703,999])
|
||||
|
||||
func co9(start,base,lim,kaprekars)
|
||||
c1=0
|
||||
c2=0
|
||||
s = []
|
||||
for k = start to lim
|
||||
c1 = c1 + 1
|
||||
if k % (base-1) = (k*k) % (base-1)
|
||||
c2 = c2 + 1
|
||||
add(s,k)
|
||||
ok
|
||||
next
|
||||
msg = "Valid subset" + nl
|
||||
for i = 1 to len(kaprekars)
|
||||
if not find(s,kaprekars[i])
|
||||
msg = "***Invalid***" + nl
|
||||
exit
|
||||
ok
|
||||
next
|
||||
showarray(s)
|
||||
see "Kaprekar numbers:" + nl
|
||||
showarray(kaprekars)
|
||||
see msg
|
||||
see "Trying " + c2 + " numbers instead of " + c1 + " saves " + (100-(c2/c1)*100) + "%" + nl + nl
|
||||
|
||||
func showarray(vect)
|
||||
see "{"
|
||||
svect = ""
|
||||
for n = 1 to len(vect)
|
||||
svect = svect + vect[n] + ", "
|
||||
next
|
||||
svect = left(svect, len(svect) - 2)
|
||||
see svect + "}" + nl
|
||||
23
Task/Casting-out-nines/Sidef/casting-out-nines.sidef
Normal file
23
Task/Casting-out-nines/Sidef/casting-out-nines.sidef
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
func cast_out(base = 10, min = 1, max = (base**2 - 1)) {
|
||||
|
||||
var b9 = base-1
|
||||
var ran = b9.range.grep {|n| n%b9 == (n*n % b9) }
|
||||
|
||||
var x = min//b9
|
||||
var r = []
|
||||
|
||||
loop {
|
||||
ran.each {|n|
|
||||
var k = (b9*x + n)
|
||||
return r if (k > max)
|
||||
r << k if (k >= min)
|
||||
}
|
||||
++x
|
||||
}
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
say cast_out().join(' ')
|
||||
say cast_out(16).join(' ')
|
||||
say cast_out(17).join(' ')
|
||||
Loading…
Add table
Add a link
Reference in a new issue