Palindromic gapful numbers: Difference between revisions

m (→‎{{header|REXX}}: optimized the pangap subroutine, elided a palindrome test.)
Line 2,286:
Optimized version: the ultimate fastest
<lang ruby>def palindromegen(digit, count)
pow = 1
nums = []
nn = digit * 11
while pow += 1
base = 10**(pow >> 1)
n1 = base * digit
n2 = base * (digit + 1)
while n1 < n2
pal =if pow.even? ? (n1 / 10) : n1
ns = pal(n1 / 10).to_s
ifnum pow= (ns + "0" + ns.reverse).even?to_i
10.times enddo
num = (ns + "0" + ns.reverse).to_i
10.timesnums do<< num if num % nn == 0
return nums << num if num % nn nums.size == 0count
num return nums if nums.size =+= countbase
num += baseend
endelse
else(n1..n1 + 9).each do |pal|
(pal..palns += 9)pal.each do |pal|to_s
num = (ns =+ palns.reverse).to_sto_i
nums << num =if (nsnum +% nn == ns.reverse).to_i0
return nums << num if num % nn nums.size == 0count
return nums if nums.size == count
end
end
n1 += 10
end
n1 += 10
end
end
end
 
count = 20
Anonymous user