Pisano period: Difference between revisions
Content added Content deleted
(Added Go) |
(→{{header|Go}}: Replaced 'isPrime' function with a more efficient one.) |
||
Line 71: | Line 71: | ||
} |
} |
||
// OK for 'small' numbers. |
|||
// Not particularly efficient but suffices here. |
|||
func isPrime(n uint) bool { |
func isPrime(n uint) bool { |
||
switch { |
|||
⚫ | |||
⚫ | |||
case n%2 == 0: |
|||
return n == 2 |
return n == 2 |
||
case n%3 == 0: |
|||
⚫ | |||
return n == 3 |
return n == 3 |
||
default: |
|||
d := uint(5) |
|||
for d*d <= n { |
|||
if n%d == 0 { |
|||
return false |
|||
} |
|||
d += 2 |
|||
if n%d == 0 { |
|||
return false |
|||
} |
|||
d += 4 |
|||
} |
|||
return true |
return true |
||
} |
} |
||
⚫ | |||
} |
} |
||