Untouchable numbers: Difference between revisions

Content added Content deleted
Line 64: Line 64:
=={{header|F_Sharp|F#}}==
=={{header|F_Sharp|F#}}==
===The Function===
===The Function===
This task uses [[Extensible_prime_generator#The_functions|Extensible Prime Generator (F#)]]
This task uses [[Extensible_prime_generator#The_functions|Extensible Prime Generator (F#)]].<br>
It implements [[Talk:Untouchable_numbers#Nice_recursive_solution]]
<lang fsharp>
<lang fsharp>
// Applied dendrology. Nigel Galloway: February 15., 2021
// Applied dendrology. Nigel Galloway: February 15., 2021
Line 71: Line 72:
let uT g=let N,fN=Array.create(g+1) true,fG (int64 g) [|yield! primes64()|>Seq.takeWhile((>)(int64 g))|]
let uT g=let N,fN=Array.create(g+1) true,fG (int64 g) [|yield! primes64()|>Seq.takeWhile((>)(int64 g))|]
let rec fG n g=match n() with (Some([],z),_)->N.[z]<-false; fG n g
let rec fG n g=match n() with (Some([],z),_)->N.[z]<-false; fG n g
|(Some(n,z),e) ->N.[z]<-false; let n=fN n e in fG n (n::g)
|(Some(i,z),e) ->N.[z]<-false; fG (fN i e) (n::g)
|_->match g with _::n::g->fG n (n::g) |_->N.[0]<-false; N
|_->match g with n::g->fG n g |_->N.[0]<-false; N
let n=fN [1L] 0 in fG n [n]
fG (fN [1L] 0) []
</lang>
</lang>
===The Task===
===The Task===