Primes which contain only one odd digit: Difference between revisions

Content added Content deleted
m (→‎{{header|Julia}}: added missing bracket)
m (→‎{{header|Sidef}}: minor optimization)
Line 377: Line 377:


var even_digits = digits.grep { .is_even }
var even_digits = digits.grep { .is_even }
var odd_digits = digits.grep { .is_odd }
var odd_digits = digits.grep { .is_odd && .is_coprime(base) }

list << digits.grep { .is_odd && .is_prime && !.is_coprime(base) }...


for k in (0 .. upto.len(base)-1) {
for k in (0 .. upto.len(base)-1) {
Line 385: Line 387:
odd_digits.each {|d|
odd_digits.each {|d|
var n = [d, a...].digits2num(base)
var n = [d, a...].digits2num(base)
list << n if ((n <= upto) && n.is_prime)
list << n if n.is_prime
}
}
})
})
Line 394: Line 396:


with (1e3) {|n|
with (1e3) {|n|
var list = primes_with_one_odd_digit(1000)
var list = primes_with_one_odd_digit(n)
say "There are #{list.len} primes under #{n.commify} which contain only one odd digit:"
say "There are #{list.len} primes under #{n.commify} which contain only one odd digit:"
list.each_slice(9, {|*a| say a.map { '%3s' % _ }.join(' ') })
list.each_slice(9, {|*a| say a.map { '%3s' % _ }.join(' ') })