Sequence of primes by trial division: Difference between revisions
Content added Content deleted
(LFE version) |
(Added uBasic/4tH version) |
||
Line 3,079: | Line 3,079: | ||
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 |
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 |
||
</pre> |
</pre> |
||
=={{header|uBasic/4tH}}== |
|||
{{trans|FreeBASIC}} |
|||
<syntaxhighlight lang="uBasic/4tH">' Print all primes from 101 to 999 |
|||
For i = 101 To 999 |
|||
If FUNC(_isPrime(i)) Then |
|||
Print Using "__# "; i; |
|||
EndIf |
|||
Next |
|||
Print : End |
|||
_isPrime |
|||
Param (1) |
|||
Local (2) |
|||
If a@ < 2 Then Return (0) |
|||
If a@ = 2 Then Return (1) |
|||
If (a@ % 2) = 0 Then Return (0) |
|||
b@ = FUNC(_Sqrt(a@, 0)) |
|||
For c@ = 3 To b@ Step 2 |
|||
If (a@ % c@) = 0 Then Unloop : Return (0) |
|||
Next |
|||
Return (1) |
|||
_Sqrt |
|||
Param (2) |
|||
Local (2) |
|||
If a@ = 0 Return (0) |
|||
c@ = Max(Shl(Set(a@, a@*(10^(b@*2))), -10), 1024) |
|||
Do |
|||
d@ = (c@+a@/c@)/2 |
|||
While c@ > d@ |
|||
c@ = d@ |
|||
Loop |
|||
Return (c@)</syntaxhighlight> |
|||
{{Out}} |
|||
<pre>101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 |
|||
199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 |
|||
317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 |
|||
443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 |
|||
577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 |
|||
701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 |
|||
839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 |
|||
983 991 997 |
|||
0 OK, 0:136</pre> |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |