CalmoSoft primes: Difference between revisions

m
Moved C entry into correct alphabetic order.
(→‎{{header|C}}: Updated in line with Wren entry of which it is a translation.)
m (Moved C entry into correct alphabetic order.)
Line 185:
 
[7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89]</pre>
 
=={{header|BASIC}}==
==={{header|FreeBASIC}}===
{{trans|XPL0}}
<syntaxhighlight lang="vb">#include "isprime.bas"
 
Dim As Integer Primes(100), PrimeSums(100)
Dim As Integer i, n, Size, Head, Tail, Longest, Sum, SaveHead, SaveTail
i = 0 'make table of primes
For n = 2 To 100-1
If isPrime(n) Then Primes(i) = n : i += 1
Next
Size = i 'make table of sums
PrimeSums(0) = Primes(0)
For i = 1 To Size-1
PrimeSums(i) = PrimeSums(i-1) + Primes(i)
Next
Longest = 0 'find longest sequence
For Head = Size-1 To 0 Step -1
Sum = PrimeSums(Head)
For Tail = 0 To Head
If Head-Tail > Longest Then
If IsPrime(Sum) Then
Longest = Head-Tail
SaveHead = Head
SaveTail = Tail
End If
Sum -= Primes(Tail)
End If
Next
Next
 
Print "[";
For i = SaveTail To SaveHead
Print Primes(i); ",";
Next
Print Chr$(8); Chr$(8); " ]"
 
Sum = 0
For i = SaveTail To SaveHead
Sum += Primes(i)
Print Primes(i);
If i <> SaveHead Then Print " +";
Next
Print Chr$(8); " ="; Sum; " is prime number"
Print "The longest sequence of CalmoSoft primes ="; Longest+1
Sleep</syntaxhighlight>
{{out}}
<pre>[ 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 8 ]
7 + 11 + 13 + 17 + 19 + 23 + 29 + 31 + 37 + 41 + 43 + 47 + 53 + 59 + 61 + 67 + 71 + 73 + 79 + 83 + 8 = 953 is prime number
The longest sequence of CalmoSoft primes = 21</pre>
 
==={{header|Yabasic}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="vb">//import isprime
 
dim Primes(100)
dim PrimeSums(100)
i = 1 //make table of primes
for n = 2 to 100-1
if isPrime(n) then Primes(i) = n : i = i + 1 : fi
next
tam = i //make table of sums
PrimeSums(0) = Primes(0)
for i = 1 to tam-1
PrimeSums(i) = PrimeSums(i-1) + Primes(i)
next
Longest = 0 //find longest sequence
for Head = tam-1 to 0 step -1
Sum = PrimeSums(Head)
for Tail = 0 to Head
if Head-Tail > Longest then
if isPrime(Sum) then
Longest = Head-Tail
SaveHead = Head
SaveTail = Tail
end if
Sum = Sum - Primes(Tail)
end if
next
next
 
print "[ ";
for i = SaveTail to SaveHead
print Primes(i), ", ";
next
print chr$(8), chr$(8), " ]"
 
Sum = 0
for i = SaveTail to SaveHead
Sum = Sum + Primes(i)
print Primes(i);
if i <> SaveHead print " + ";
next
print chr$(8), " = ", Sum, " is prime number"
print "The longest sequence of CalmoSoft primes = ", Longest+1
end</syntaxhighlight>
{{out}}
<pre>Same as FreeBASIC entry.</pre>
 
=={{header|C}}==
Line 352 ⟶ 451:
7 + 11 + 13 + 17 + 19 + 23 + .. + 49999699 + 49999711 + 49999739 + 49999751 + 49999753 + 49999757 = 72,618,848,632,313
</pre>
 
=={{header|BASIC}}==
==={{header|FreeBASIC}}===
{{trans|XPL0}}
<syntaxhighlight lang="vb">#include "isprime.bas"
 
Dim As Integer Primes(100), PrimeSums(100)
Dim As Integer i, n, Size, Head, Tail, Longest, Sum, SaveHead, SaveTail
i = 0 'make table of primes
For n = 2 To 100-1
If isPrime(n) Then Primes(i) = n : i += 1
Next
Size = i 'make table of sums
PrimeSums(0) = Primes(0)
For i = 1 To Size-1
PrimeSums(i) = PrimeSums(i-1) + Primes(i)
Next
Longest = 0 'find longest sequence
For Head = Size-1 To 0 Step -1
Sum = PrimeSums(Head)
For Tail = 0 To Head
If Head-Tail > Longest Then
If IsPrime(Sum) Then
Longest = Head-Tail
SaveHead = Head
SaveTail = Tail
End If
Sum -= Primes(Tail)
End If
Next
Next
 
Print "[";
For i = SaveTail To SaveHead
Print Primes(i); ",";
Next
Print Chr$(8); Chr$(8); " ]"
 
Sum = 0
For i = SaveTail To SaveHead
Sum += Primes(i)
Print Primes(i);
If i <> SaveHead Then Print " +";
Next
Print Chr$(8); " ="; Sum; " is prime number"
Print "The longest sequence of CalmoSoft primes ="; Longest+1
Sleep</syntaxhighlight>
{{out}}
<pre>[ 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 8 ]
7 + 11 + 13 + 17 + 19 + 23 + 29 + 31 + 37 + 41 + 43 + 47 + 53 + 59 + 61 + 67 + 71 + 73 + 79 + 83 + 8 = 953 is prime number
The longest sequence of CalmoSoft primes = 21</pre>
 
==={{header|Yabasic}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="vb">//import isprime
 
dim Primes(100)
dim PrimeSums(100)
i = 1 //make table of primes
for n = 2 to 100-1
if isPrime(n) then Primes(i) = n : i = i + 1 : fi
next
tam = i //make table of sums
PrimeSums(0) = Primes(0)
for i = 1 to tam-1
PrimeSums(i) = PrimeSums(i-1) + Primes(i)
next
Longest = 0 //find longest sequence
for Head = tam-1 to 0 step -1
Sum = PrimeSums(Head)
for Tail = 0 to Head
if Head-Tail > Longest then
if isPrime(Sum) then
Longest = Head-Tail
SaveHead = Head
SaveTail = Tail
end if
Sum = Sum - Primes(Tail)
end if
next
next
 
print "[ ";
for i = SaveTail to SaveHead
print Primes(i), ", ";
next
print chr$(8), chr$(8), " ]"
 
Sum = 0
for i = SaveTail to SaveHead
Sum = Sum + Primes(i)
print Primes(i);
if i <> SaveHead print " + ";
next
print chr$(8), " = ", Sum, " is prime number"
print "The longest sequence of CalmoSoft primes = ", Longest+1
end</syntaxhighlight>
{{out}}
<pre>Same as FreeBASIC entry.</pre>
 
=={{header|Go}}==
9,482

edits