Find squares n where n+1 is prime: Difference between revisions
Content added Content deleted
(Added Wren) |
Thundergnat (talk | contribs) (→{{header|Raku}}: Add a Raku example) |
||
Line 4: | Line 4: | ||
<br> |
<br> |
||
Find squares '''n''' where '''n+1''' is prime and '''n<1.000''' |
Find squares '''n''' where '''n+1''' is prime and '''n<1.000''' |
||
=={{header|Raku}}== |
|||
Use up to to one thousand (1,000) rather than up to one (1.000) as otherwise it would be a pretty short list... |
|||
<lang perl6>say ({$++²}…^*>Ⅿ).grep: (*+1).is-prime</lang> |
|||
{{out}} |
|||
<pre>(1 4 16 36 100 196 256 400 576 676)</pre> |
|||
=={{header|Ring}}== |
=={{header|Ring}}== |
||
<lang ring> |
<lang ring> |
Revision as of 15:37, 16 December 2021
Find squares n where n+1 is prime is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
- Task
Find squares n where n+1 is prime and n<1.000
Raku
Use up to to one thousand (1,000) rather than up to one (1.000) as otherwise it would be a pretty short list... <lang perl6>say ({$++²}…^*>Ⅿ).grep: (*+1).is-prime</lang>
- Output:
(1 4 16 36 100 196 256 400 576 676)
Ring
<lang ring> load "stdlib.ring" row = 0 limit = 1000 see "working..." + nl
for n = 1 to limit-1
if issquare(n) and isprime(n+1) row++ see "" + n +nl ok
next
see "Found " + row + " numbers" + nl see "done..." + nl
func issquare(x)
for n = 1 to sqrt(x) if x = pow(n,2) return 1 ok next return 0
</lang>
- Output:
working... 1 4 16 36 100 196 256 400 576 676 Found 10 numbers done...
Wren
<lang ecmascript>import "./math" for Int
var squares = [] for (i in 1..1000.sqrt.floor) {
var n = i * i if (Int.isPrime(n+1)) squares.add(n)
} System.print("There are %(squares.count) square numbers 'n' where 'n+1' is prime, viz:") System.print(squares)</lang>
- Output:
There are 10 square numbers 'n' where 'n+1' is prime, viz: [1, 4, 16, 36, 100, 196, 256, 400, 576, 676]