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( |
|(Some(i,z),e) ->N.[z]<-false; fG (fN i e) (n::g) |
||
|_->match g with |
|_->match g with n::g->fG n g |_->N.[0]<-false; N |
||
fG (fN [1L] 0) [] |
|||
</lang> |
</lang> |
||
===The Task=== |
===The Task=== |