Primes which contain only one odd digit: Difference between revisions
Content added Content deleted
Alextretyak (talk | contribs) m (→{{header|11l}}) |
m (→{{header|Sidef}}: minor optimizations) |
||
Line 880: | Line 880: | ||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<lang ruby>func primes_with_one_odd_digit(upto, base = 10) { |
<lang ruby>func primes_with_one_odd_digit(upto, base = 10) { |
||
upto = prev_prime(upto+1) |
|||
var list = [] |
var list = [] |
||
Line 889: | Line 891: | ||
list << digits.grep { .is_odd && .is_prime && !.is_coprime(base) }... |
list << digits.grep { .is_odd && .is_prime && !.is_coprime(base) }... |
||
for k in (0 .. upto. |
for k in (0 .. upto.ilog(base)) { |
||
even_digits.variations_with_repetition(k, {|*a| |
even_digits.variations_with_repetition(k, {|*a| |
||
next if (a.last == 0) |
next if (a.last == 0) |
||
var v = a.digits2num(base) |
|||
odd_digits.each {|d| |
odd_digits.each {|d| |
||
var n = |
var n = (v*base + d) |
||
list << n if n.is_prime |
list << n if (n.is_prime && (n <= upto)) |
||
} |
} |
||
}) |
}) |