Quadrat special primes: Difference between revisions

m
syntax highlighting fixup automation
(J)
m (syntax highlighting fixup automation)
Line 10:
{{trans|Nim}}
 
<langsyntaxhighlight lang="11l">F is_prime(n)
I n == 2
R 1B
Line 35:
print(‘Quadrat special primes < 16000:’)
L(qp) quadraPrimes
print(‘#5’.format(qp), end' I (L.index + 1) % 7 == 0 {"\n"} E ‘ ’)</langsyntaxhighlight>
 
{{out}}
Line 51:
=={{header|Action!}}==
{{libheader|Action! Sieve of Eratosthenes}}
<langsyntaxhighlight Actionlang="action!">INCLUDE "H6:SIEVE.ACT"
 
DEFINE MAX="15999"
Line 93:
p=FindNextQuadraticPrime(p)
OD
RETURN</langsyntaxhighlight>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Quadrat_Special_Primes.png Screenshot from Atari 8-bit computer]
Line 105:
{{Trans|ALGOL W}}
{{libheader|ALGOL 68-primes}}
<langsyntaxhighlight lang="algol68">BEGIN # find some primes where the gap between the current prime and the next is a square #
# an array of squares #
PROC get squares = ( INT n )[]INT:
Line 132:
DO sq pos +:= 2 OD
OD
END</langsyntaxhighlight>
{{out}}
<pre>
Line 143:
 
=={{header|ALGOL W}}==
<langsyntaxhighlight lang="algolw">begin % find some primes where the gap between the current prime and the next is a square %
% sets p( 1 :: n ) to a sieve of primes up to n %
procedure Eratosthenes ( logical array p( * ) ; integer value n ) ;
Line 185:
end while_thisPrime_lt_MAX_NUMBER
end
end.</langsyntaxhighlight>
{{out}}
<pre>
Line 195:
</pre>
=={{header|AWK}}==
<syntaxhighlight lang="awk">
<lang AWK>
# syntax: GAWK -f QUADRAT_SPECIAL_PRIMES.AWK
# converted from FreeBASIC
Line 228:
return(1)
}
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 243:
==={{header|Applesoft BASIC}}===
{{trans|BASIC256}}
<langsyntaxhighlight lang="gwbasic"> 100 FOR P = 2 TO 16000
110 PRINT S$P;
120 LET S$ = " "
Line 264:
290 IF NOT ISPRIME THEN RETURN
300 NEXT D
310 RETURN</langsyntaxhighlight>
==={{header|BASIC256}}===
<langsyntaxhighlight BASIC256lang="basic256">function isPrime(v)
if v < 2 then return False
if v mod 2 = 0 then return v = 2
Line 291:
j = 1
end while
end</langsyntaxhighlight>
 
==={{header|PureBasic}}===
<langsyntaxhighlight PureBasiclang="purebasic">Procedure isPrime(v.i)
If v <= 1 : ProcedureReturn #False
ElseIf v < 4 : ProcedureReturn #True
Line 333:
ForEver
Input()
CloseConsole()</langsyntaxhighlight>
 
==={{header|Yabasic}}===
<langsyntaxhighlight lang="yabasic">sub isPrime(v)
if v < 2 then return False : fi
if mod(v, 2) = 0 then return v = 2 : fi
Line 361:
j = 1
loop
end</langsyntaxhighlight>
 
=={{header|Factor}}==
{{works with|Factor|0.98}}
<langsyntaxhighlight lang="factor">USING: fry io kernel lists lists.lazy math math.primes prettyprint ;
 
2 [ 1 lfrom swap '[ sq _ + ] lmap-lazy [ prime? ] lfilter car ]
lfrom-by [ 16000 < ] lwhile [ pprint bl ] leach nl</langsyntaxhighlight>
{{out}}
<pre>
Line 375:
 
=={{header|FreeBASIC}}==
<langsyntaxhighlight lang="freebasic">
#include "isprime.bas"
 
Line 391:
loop
print
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 399:
=={{header|Go}}==
{{trans|Wren}}
<langsyntaxhighlight lang="go">package main
 
import (
Line 473:
}
fmt.Println("\n", count+1, "such primes found.")
}</langsyntaxhighlight>
 
{{out}}
Line 481:
 
=={{header|J}}==
<langsyntaxhighlight Jlang="j">{{
j=. 0
r=. 2
Line 488:
end.
}} p:i.p:inv 16e3
2 3 7 11 47 83 227 263 587 911 947 983 1019 1163 1307 1451 1487 1523 1559 2459 3359 4259 4583 5483 5519 5843 5879 6203 6779 7103 7247 7283 7607 7643 8219 8363 10667 11243 11279 11423 12323 12647 12791 13367 13691 14591 14627 14771 15671</langsyntaxhighlight>
=={{header|jq}}==
'''Adaptation of [[#Julia|Julia]]
Line 495:
 
For the definition of `is_prime` used here, see https://rosettacode.org/wiki/Additive_primes
<syntaxhighlight lang="jq">
<lang jq>
# Input: a number > 2
# Output: an array of the quadrat primes less than `.`
Line 516:
"Quadrat special primes < 16000:",
(16000 | quadrat[])
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 530:
 
=={{header|Julia}}==
<langsyntaxhighlight lang="julia">using Primes
 
function quadrat(N = 16000)
Line 550:
println("Quadrat special primes < 16000:")
foreach(p -> print(rpad(p[2], 6), p[1] % 10 == 0 ? "\n" : ""), enumerate(quadrat()))
</langsyntaxhighlight>{{out}}
<pre>
Quadrat special primes < 16000:
Line 561:
 
=={{header|Ksh}}==
<langsyntaxhighlight lang="ksh">
#!/bin/ksh
 
Line 613:
done
printf "\n"
</syntaxhighlight>
</lang>
{{out}}<pre>
2 3 7 11 47 83 227 263 587 911 947 983 1019 1163 1307 1451 1487 1523 1559 2459 3359 4259 4583 5483 5519 5843 5879 6203 6779 7103 7247 7283 7607 7643 8219 8363 10667 11243 11279 11423 12323 12647 12791 13367 13691 14591 14627 14771 15671
Line 619:
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
<langsyntaxhighlight Mathematicalang="mathematica">ps = {2};
Do[
Do[
Line 636:
];
ps //= Most;
Multicolumn[ps, {Automatic, 7}, Appearance -> "Horizontal"]</langsyntaxhighlight>
{{out}}
<pre>2 3 7 11 47 83 227
Line 647:
 
=={{header|Nim}}==
<langsyntaxhighlight Nimlang="nim">import math, strutils, sugar
 
func isPrime(n: Natural): bool =
Line 685:
for qp in quadraPrimes(Max):
inc count
stdout.write ($qp).align(5), if count mod 7 == 0: '\n' else: ' '</langsyntaxhighlight>
 
{{out}}
Line 699:
=={{header|Perl}}==
{{libheader|ntheory}}
<langsyntaxhighlight lang="perl">use strict;
use warnings;
use feature 'say';
Line 712:
} until $sp[-1] >= 16000;
 
pop @sp and say ((sprintf '%-7d'x@sp, @sp) =~ s/.{1,$#sp}\K\s/\n/gr);</langsyntaxhighlight>
{{out}}
<pre>2 3 7 11 47 83 227
Line 723:
 
=={{header|Phix}}==
<!--<langsyntaxhighlight Phixlang="phix">(phixonline)-->
<span style="color: #008080;">constant</span> <span style="color: #000000;">desc</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">split</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"linear quadratic cubic quartic quintic sextic septic octic nonic decic"</span><span style="color: #0000FF;">),</span>
<span style="color: #000000;">limits</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">16000</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">15000</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">14e9</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">8025e5</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">25e12</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">195e12</span><span style="color: #0000FF;">,</span><span style="color: #000000;">75e11</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">3e9</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">11e8</span><span style="color: #0000FF;">}</span>
Line 745:
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Found %d %s special primes &lt; %g:\n%s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">),</span><span style="color: #000000;">desc</span><span style="color: #0000FF;">[</span><span style="color: #000000;">p</span><span style="color: #0000FF;">],</span><span style="color: #000000;">N</span><span style="color: #0000FF;">,</span><span style="color: #000000;">r</span><span style="color: #0000FF;">})</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
<!--</langsyntaxhighlight>-->
{{out}}
<pre>
Line 786:
 
=={{header|Python}}==
<langsyntaxhighlight lang="python">#!/usr/bin/python
 
def isPrime(n):
Line 808:
break
print(p, end = " ");
j = 1</langsyntaxhighlight>
 
=={{header|Raku}}==
 
<syntaxhighlight lang="raku" perl6line>my @sqp = 2, -> $previous {
my $next;
for (1..∞).map: *² {
Line 822:
 
say "{+$_} matching numbers:\n", $_».fmt('%5d').batch(7).join: "\n" given
@sqp[^(@sqp.first: * > 16000, :k)];</langsyntaxhighlight>
{{out}}
<pre>49 matching numbers:
Line 834:
 
=={{header|REXX}}==
<langsyntaxhighlight lang="rexx">/*REXX program finds the smallest primes such that the difference of successive terms */
/*─────────────────────────────────────────────────── are the smallest quadrat numbers. */
parse arg hi cols . /*obtain optional argument from the CL.*/
Line 883:
end /*k*/ /* [↑] only process numbers ≤ √ J */
#= #+1; @.#= j; s.#= j*j; !.j= 1 /*bump # of Ps; assign next P; P²; P# */
end /*j*/; return</langsyntaxhighlight>
{{out|output|text=&nbsp; when using the default inputs:}}
<pre>
Line 899:
 
=={{header|Ring}}==
<langsyntaxhighlight lang="ring">load "stdlib.ring"
/* Searching for the smallest prime gaps under a limit,
Line 942:
s = string(x) l = len(s)
if l > y y = l ok
return substr(" ", 11 - y + l) + s</langsyntaxhighlight>
{{out}}
<pre style="height:20em">working...
Line 1,072:
 
=={{header|Sidef}}==
<langsyntaxhighlight lang="ruby">func quadrat_primes(callback) {
 
var prev = 2
Line 1,089:
take(k)
})
}</langsyntaxhighlight>
{{out}}
<pre>
Line 1,098:
{{libheader|Wren-math}}
{{libheader|Wren-fmt}}
<langsyntaxhighlight lang="ecmascript">import "/math" for Int
import "/fmt" for Fmt
 
Line 1,121:
}
}
System.print("\n%(count+1) such primes found.")</langsyntaxhighlight>
 
{{out}}
Line 1,181:
=={{header|XPL0}}==
Find primes where the difference between the current one and a following one is a perfect square.
<langsyntaxhighlight XPL0lang="xpl0">func IsPrime(N); \Return 'true' if N is a prime number
int N, I;
[if N <= 1 then return false;
Line 1,206:
Text(0, " such primes found below 16000.
");
]</langsyntaxhighlight>
 
{{out}}
10,327

edits