Chernick's Carmichael numbers: Difference between revisions

(→‎{{header|zkl}}: added code)
Line 54:
<lang fsharp>
// Generate Chernick's Carmichael numbers. Nigel Galloway: June 1st., 2019
let fNfMk g=letm mxk=intisPrime(sqrt(float6*m+1) g)&& isPrime(12*m+1) in&& pCache|>Seq[1..takeWhile(fun nk->n<=mx)2]|>SeqList.forall(fun n->g%isPrime(int649*(pown 2 n)>0L*m+1))
let fMk mfX k=fNSeq.initInfinite(fun n->(6L*mn+1L1)*(pown && fN2 (12L*m+1Lk-4))) && [1..k-2]|>List Seq.forallfilter(fun n->fNfMk (9L*(pownn 2Lk n)*m+1L))
let fXcherCar k=let m=Seq.initInfinitehead(funfX k) in printfn "m=%d primes n->int64 %A " m (n[6*m+1);12*(pown 2L m+1]@List.init(k-4))2) |> Seq.filter(fun n->fMk9*(pown n k2 (n+1))*m+1))
let cherCar k=let m=Seq.head(fX k) in printfn "cherCar(%d): m=%d primes -> %A " k m ([6L*m+1L;12L*m+1L]@List.init(k-2)(fun n->9L*(pown 2L (n+1))*m+1L))
[4..9] |> Seq.iter cherCar
</lang>
{{out}}
<pre>
cherCar(4): m=1 primes -> [7L7; 13L13; 19L19; 37L37]
cherCar(5): m=380 primes -> [2281L2281; 4561L4561; 6841L6841; 13681L13681; 27361L27361]
cherCar(6): m=380 primes -> [2281L2281; 4561L4561; 6841L6841; 13681L13681; 27361L27361; 54721L54721]
cherCar(7): m=780320 primes -> [4681921L4681921; 9363841L9363841; 14045761L14045761; 28091521L28091521; 56183041L56183041; 112366081L112366081; 224732161L224732161]
cherCar(8): m=950560 primes -> [5703361L5703361; 11406721L11406721; 17110081L17110081; 34220161L34220161; 68440321L68440321; 136880641L136880641; 273761281L273761281; 547522561L547522561]
cherCar(9): m=950560 primes -> [5703361L5703361; 11406721L11406721; 17110081L17110081; 34220161L34220161; 68440321L68440321; 136880641L136880641; 273761281L273761281; 547522561L547522561; 1095045121L1095045121]
</pre>
 
=={{header|Go}}==
<lang go>package main
2,171

edits