Primes which contain only one odd digit: Difference between revisions
Primes which contain only one odd digit (view source)
Revision as of 16:06, 28 January 2024
, 3 months ago→{{header|Wren}}: Minor tidy
(→J: add) |
m (→{{header|Wren}}: Minor tidy) |
||
(One intermediate revision by one other user not shown) | |||
Line 2:
;Task
Show on this page those primes under '''1,000''' which when expressed in decimal
;Stretch goal:
Show on this page only the <u>count</u> of those primes under '''1,000,000''' which when expressed in decimal
<br><br>
=={{header|11l}}==
{{trans|Nim}}
<syntaxhighlight lang="11l">F is_prime(n)
I n == 2
Line 389 ⟶ 388:
Elapsed Time: 171.630 ms.
</pre>
=={{header|F_Sharp|F#}}==
Line 452 ⟶ 450:
dim as uinteger m = int(log(n-1)/log(5))
return int((n-1-5^m)/5^j)
end function
function evendig(n as uinteger) as uinteger
'produces the integers with only even digits
Line 613 ⟶ 611:
=={{header|J}}==
<syntaxhighlight lang="j"> getOneOdds=. #~
primesTo=. i.&.(p:inv)
Line 628 ⟶ 626:
'''Works with gojq, the Go implementation of jq'''
As noted in the [[#Julia|Julia entry]], if only one digit of a prime is odd, then that digit is in the ones place. The first solution presented here uses this observation to generate plausible candidates.
See e.g. [[Erd%C5%91s-primes#jq]] for a suitable implementation of `is_prime`.
Line 640 ⟶ 638:
label $out | stream | if cond then break $out else . end;
# Output: an unbounded stream
def primes_with_exactly_one_odd_digit:
# Output: a stream of candidate strings, in ascending numerical order
Line 756 ⟶ 754:
There are 2560 primes with only one odd digit in base 10 between 1 and 1,000,000.
</pre>
=={{header|Mathematica}} / {{header|Wolfram Language}}==
<syntaxhighlight lang="mathematica">Labeled[Cases[
NestWhileList[NextPrime,
Line 905 ⟶ 904:
=={{header|Quackery}}==
<code>isprime</code> is defined at [[Primality by trial division#Quackery]].
Line 952 ⟶ 950:
=={{header|Raku}}==
<syntaxhighlight lang="raku" line>put display ^1000 .grep: { ($_ % 2) && .is-prime && (.comb[^(*-1)].all %% 2) }
sub display ($list, :$cols = 10, :$fmt = '%6d', :$title = "{+$list} matching:\n" ) {
cache $list;
Line 1,040 ⟶ 1,038:
odd = 0
str = string(n)
for m = 1 to len(str)
if number(str[m])%2 = 1
odd++
Line 1,120 ⟶ 1,118:
Found 2560 single-odd-digit primes upto 1000000.
</pre>
=={{header|Sidef}}==
<syntaxhighlight lang="ruby">func primes_with_one_odd_digit(upto, base = 10) {
Line 1,181 ⟶ 1,180:
{{libheader|Wren-math}}
{{libheader|Wren-fmt}}
▲<syntaxhighlight lang="ecmascript">import "./math" for Int
import "./fmt" for Fmt
var limit = 999
var maxDigits = 3
Line 1,194 ⟶ 1,191:
}
Fmt.print("Primes under $,d which contain only one odd digit:", limit + 1)
System.print("\nFound %(results.count) such primes.\n")
limit = 1e9 - 1
primes = Int.primeSieve(limit)
|