Piprimes: Difference between revisions

Content added Content deleted
(Realize in F#)
Line 114: Line 114:
sub isPrime(n: uint8): (r: uint8) is
sub isPrime(n: uint8): (r: uint8) is
var i: uint8 := 2;
var i: uint8 := 2;
while i*i < n loop
r := 0;
if n%i == 0 then
if n>=2 then
r := 0;
while i*i <= n loop
return;
if n%i == 0 then
end if;
return;
i := i + 1;
end if;
end loop;
i := i + 1;
r := 1;
end loop;
r := 1;
end if;
end sub;
end sub;


var count: uint8 := 0;
var count: uint8 := 0;
var n: uint8 := 0;
var n: uint8 := 1;
const MAX := 22;
const MAX := 22;


Line 133: Line 135:
n := n + 1;
n := n + 1;
count := count + isPrime(n);
count := count + isPrime(n);
if n % 10 == 0 then
if n % 10 == 1 then
print_nl();
print_nl();
end if;
end if;
end loop;
end loop;
print_nl();</lang>
print_nl();
</lang>


{{out}}
{{out}}
<pre>0 1 2 3 4 5 5 6 6 7
<pre>0 1 2 2 3 3 4 4 4 4
7 8 8 9 9 9 9 10 10 11
5 5 6 6 6 6 7 7 8 8
11 11 11 12 12 13 13 13 13 14
8 8 9 9 9 9 9 9 10 10
14 15 15 15 15 15 15 16 16 16
11 11 11 11 11 11 12 12 12 12
16 17 17 18 18 18 18 19 19 20
13 13 14 14 14 14 15 15 15 15
20 20 20 21 21 21 21 21 21</pre>
15 15 16 16 16 16 16 16 17 17
18 18 18 18 18 18 19 19 19 19
20 20 21 21 21 21 21 21
</pre>

=={{header|F_Sharp|F#}}==
=={{header|F_Sharp|F#}}==
<lang fsharp>
<lang fsharp>