De Polignac numbers: Difference between revisions

Content added Content deleted
m (→‎{{header|Wren}}: Changed to Wren S/H)
(Added Euler)
Line 709: Line 709:
</syntaxhighlight>
</syntaxhighlight>


=={{header|Euler}}==
Basic task only.<br/>
Based on the Algol W sample, but as 3 is clearly not a de Polignac number, only considers odd primes.
'''begin''' '''new''' isOddPrime;
isOddPrime
&lt;- ` '''formal''' n;
'''if''' n '''mod''' 2 = 0
'''then''' '''false'''
'''else''' '''begin'''
'''new''' prime; '''new''' f; '''new''' f2; '''new''' toNext; '''label''' primeLoop;
prime &lt;- '''true''';
f &lt;- 3;
f2 &lt;- 9;
toNext &lt;- 16;
primeLoop: '''if''' f2 &lt;= n '''and''' prime '''then''' '''begin'''
prime &lt;- n '''mod''' f &lt;&gt; 0;
f &lt;- f + 2;
f2 &lt;- toNext;
toNext &lt;- toNext + 8;
'''goto''' primeLoop '''end''' '''else''' 0;
prime
'''end'''
&apos;;
'''begin''' '''new''' n; '''new''' count; '''label''' forI;
count &lt;- 0;
n &lt;- -1;
forI: '''if''' '''begin''' n &lt;- n + 2; count &lt; 50 '''end''' '''then''' '''begin'''
'''new''' found; '''new''' p; '''new''' powerOf2; '''label''' p2Loop;
found &lt;- '''false''';
powerOf2 &lt;- 1;
p2Loop: '''if''' '''not''' found '''and''' n &gt; powerOf2 '''then''' '''begin'''
found &lt;- isOddPrime( n - powerOf2 );
powerOf2 &lt;- powerOf2 * 2;
'''goto''' p2Loop '''end''' '''else''' 0;
'''if''' '''not''' found '''then''' '''begin'''
count &lt;- count + 1;
'''out''' n
'''end''' '''else''' 0;
'''goto''' forI '''end''' '''else''' 0
'''end'''
'''end''' $

{{out}}
<pre>
NUMBER 1
NUMBER 127
NUMBER 149
...
NUMBER 2171
NUMBER 2203
NUMBER 2213
</pre>


=={{header|FreeBASIC}}==
=={{header|FreeBASIC}}==