Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,52 +1,41 @@
|
|||
BEGIN
|
||||
begin
|
||||
|
||||
% RETURN P MOD Q %
|
||||
INTEGER FUNCTION MOD(P, Q);
|
||||
INTEGER P, Q;
|
||||
BEGIN
|
||||
MOD := P - Q * (P / Q);
|
||||
END;
|
||||
% return n mod m %
|
||||
integer function mod(n, m);
|
||||
integer n, m;
|
||||
begin
|
||||
mod := n - m * (n / m);
|
||||
end;
|
||||
|
||||
% RETURN INTEGER SQUARE ROOT OF N %
|
||||
INTEGER FUNCTION ISQRT(N);
|
||||
INTEGER N;
|
||||
BEGIN
|
||||
INTEGER R1, R2;
|
||||
R1 := N;
|
||||
R2 := 1;
|
||||
WHILE R1 > R2 DO
|
||||
BEGIN
|
||||
R1 := (R1+R2) / 2;
|
||||
R2 := N / R1;
|
||||
END;
|
||||
ISQRT := R1;
|
||||
END;
|
||||
|
||||
% RETURN 1 IF N IS PRIME, OTHERWISE 0 %
|
||||
INTEGER FUNCTION ISPRIME(N);
|
||||
INTEGER N;
|
||||
BEGIN
|
||||
IF N = 2 THEN
|
||||
ISPRIME := 1
|
||||
ELSE IF (N < 2) OR (MOD(N,2) = 0) THEN
|
||||
ISPRIME := 0
|
||||
ELSE % TEST ODD NUMBERS UP TO SQRT OF N %
|
||||
BEGIN
|
||||
INTEGER I, LIMIT;
|
||||
LIMIT := ISQRT(N);
|
||||
I := 3;
|
||||
WHILE I <= LIMIT AND MOD(N,I) <> 0 DO
|
||||
I := I + 2;
|
||||
ISPRIME := (IF I <= LIMIT THEN 0 ELSE 1);
|
||||
END;
|
||||
END;
|
||||
% return 1 if n is prime, otherwise 0 %
|
||||
integer function isprime(n);
|
||||
integer n;
|
||||
begin
|
||||
if n = 2 then
|
||||
isprime := 1
|
||||
else if (n < 2) or (mod(n,2) = 0) then
|
||||
isprime := 0
|
||||
else % test odd numbers up to sqrt of n %
|
||||
begin
|
||||
integer i, divisors;
|
||||
i := 3;
|
||||
divisors := 0;
|
||||
while i * i <= n and divisors = 0 do
|
||||
begin
|
||||
if mod(n, i) = 0 then divisors := divisors + 1;
|
||||
i := i + 2;
|
||||
end;
|
||||
isprime := (if divisors = 0 then 1 else 0);
|
||||
end;
|
||||
end;
|
||||
|
||||
% TEST FOR PRIMES IN RANGE 1 TO 50 %
|
||||
INTEGER I;
|
||||
WRITE("");
|
||||
FOR I := 1 STEP 1 UNTIL 50 DO
|
||||
BEGIN
|
||||
IF ISPRIME(I)=1 THEN WRITEON(I," "); % WORKS FOR 80 COL SCREEN %
|
||||
END;
|
||||
% test for primes in range 1 to 50 %
|
||||
integer i;
|
||||
write("");
|
||||
for i := 1 step 1 until 50 do
|
||||
begin
|
||||
if isprime(i) = 1 then writeon(i," ");
|
||||
end;
|
||||
|
||||
END
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
function Is_Prime(Item : Positive) return Boolean is
|
||||
Test : Natural;
|
||||
begin
|
||||
if Item = 1 then
|
||||
return False;
|
||||
elsif Item = 2 then
|
||||
return True;
|
||||
elsif Item mod 2 = 0 then
|
||||
return False;
|
||||
else
|
||||
Test := 3;
|
||||
while Test <= Integer(Sqrt(Float(Item))) loop
|
||||
if Item mod Test = 0 then
|
||||
return False;
|
||||
end if;
|
||||
Test := Test + 2;
|
||||
end loop;
|
||||
end if;
|
||||
return True;
|
||||
end Is_Prime;
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
function Is_Prime(Item : Positive) return Boolean is
|
||||
(Item /= 1 and then
|
||||
(for all Test in 2..Integer(Sqrt(Float(Item))) => Item mod Test /= 0));
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
with Prime_Numbers;
|
||||
|
||||
procedure Test_Prime is
|
||||
|
||||
package Integer_Numbers is new
|
||||
Prime_Numbers (Natural, 0, 1, 2);
|
||||
use Integer_Numbers;
|
||||
|
||||
begin
|
||||
if Is_Prime(12) or (not Is_Prime(13)) then
|
||||
raise Program_Error with "Test_Prime failed!";
|
||||
end if;
|
||||
end Test_Prime;
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#cs ----------------------------------------------------------------------------
|
||||
|
||||
AutoIt Version: 3.3.8.1
|
||||
Author: Alexander Alvonellos
|
||||
|
||||
|
||||
Script Function:
|
||||
Perform primality test on a given integer $number.
|
||||
RETURNS: TRUE/FALSE
|
||||
|
||||
#ce ----------------------------------------------------------------------------
|
||||
Func main()
|
||||
ConsoleWrite("The primes up to 100 are: " & @LF)
|
||||
For $i = 1 To 100 Step 1
|
||||
If(isPrime($i)) Then
|
||||
If($i <> 97) Then
|
||||
ConsoleWrite($i & ", ")
|
||||
Else
|
||||
ConsoleWrite($i)
|
||||
EndIf
|
||||
EndIf
|
||||
Next
|
||||
EndFunc
|
||||
|
||||
Func isPrime($n)
|
||||
If($n < 2) Then Return False
|
||||
If($n = 2) Then Return True
|
||||
If(BitAnd($n, 1) = 0) Then Return False
|
||||
For $i = 3 To Sqrt($n) Step 2
|
||||
If(Mod($n, $i) = 0) Then Return False
|
||||
Next
|
||||
Return True
|
||||
EndFunc
|
||||
main()
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
int is_prime(unsigned int n)
|
||||
{
|
||||
unsigned int p;
|
||||
if (!(n & 1) || n < 2 ) return n == 2;
|
||||
|
||||
/* comparing p*p <= n can overflow */
|
||||
for (p = 3; p <= n/p; p += 2)
|
||||
if (!(n % p)) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
Identification Division.
|
||||
Program-Id. Primality-By-Subdiv.
|
||||
|
||||
Data Division.
|
||||
Working-Storage Section.
|
||||
78 True-Val Value 0.
|
||||
78 False-Val Value 1.
|
||||
|
||||
Local-Storage Section.
|
||||
01 lim Pic 9(10).
|
||||
01 i Pic 9(10).
|
||||
|
||||
Linkage Section.
|
||||
01 num Pic 9(10).
|
||||
01 result Pic 9.
|
||||
|
||||
Procedure Division Using num result.
|
||||
Main.
|
||||
If num <= 1
|
||||
Move False-Val To result
|
||||
Goback
|
||||
Else If num = 2
|
||||
Move True-Val To result
|
||||
Goback
|
||||
End-If
|
||||
|
||||
Compute lim = Function Sqrt(num) + 1
|
||||
Perform Varying i From 3 By 1 Until lim < i
|
||||
If Function Mod(num, i) = 0
|
||||
Move False-Val To result
|
||||
Goback
|
||||
End-If
|
||||
End-Perform
|
||||
|
||||
Move True-Val To Result
|
||||
|
||||
Goback
|
||||
.
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
proc is_prime(n)
|
||||
{
|
||||
if n == 2 then
|
||||
return true;
|
||||
if n <= 1 || n % 2 == 0 then
|
||||
return false;
|
||||
for i in 3..floor(sqrt(n)):int by 2 do
|
||||
if n % i == 0 then
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
(defun prime (a)
|
||||
(not (or (< a 2)
|
||||
(cl-loop for x from 2 to (sqrt a)
|
||||
when (zerop (% a x))
|
||||
return t))))
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
(defun prime2 (a)
|
||||
(and (> a 1)
|
||||
(cl-loop for x from 2 to (sqrt a)
|
||||
never (zerop (% a x)))))
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
(defun prime3 (a)
|
||||
(and (> a 1)
|
||||
(or (= a 2) (cl-oddp a))
|
||||
(cl-loop for x from 3 to (sqrt a) by 2
|
||||
never (zerop (% a x)))))
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
(defun prime4 (a)
|
||||
(not (or (< a 2)
|
||||
(cl-some (lambda (x) (zerop (% a x))) (number-sequence 2 (sqrt a))))))
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
(defun prime5 (a)
|
||||
(not (or (< a 2)
|
||||
(and (/= a 2) (cl-evenp a))
|
||||
(cl-some (lambda (x) (zerop (% a x))) (number-sequence 3 (sqrt a) 2)))))
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
function is_prime(integer n)
|
||||
if n<=2 or remainder(n,2)=0 then
|
||||
return 0
|
||||
else
|
||||
for i=3 to sqrt(n) by 2 do
|
||||
if remainder(n,i)=0 then
|
||||
return 0
|
||||
end if
|
||||
end for
|
||||
return 1
|
||||
end if
|
||||
end function
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
function isPrime ($n) {
|
||||
if ($n -eq 1) {$false}
|
||||
elseif ($n -eq 2) {$true}
|
||||
elseif ($n -eq 3) {$true}
|
||||
else{
|
||||
$m = [Math]::Floor([Math]::Sqrt($n))
|
||||
(@(2..$m | where {($_ -lt $n) -and ($n % $_ -eq 0) }).Count -eq 0)
|
||||
}
|
||||
}
|
||||
1..15 | foreach{"isPrime $_ : $(isPrime $_)"}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
prime?: func [n] [
|
||||
case [
|
||||
n = 2 [ true ]
|
||||
n <= 1 or (n // 2 = 0) [ false ]
|
||||
true [
|
||||
for i 3 round square-root n 2 [
|
||||
if n // i = 0 [ return false ]
|
||||
]
|
||||
true
|
||||
]
|
||||
]
|
||||
]
|
||||
|
|
@ -1 +0,0 @@
|
|||
repeat i 100 [ print [i prime? i]]
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
-- 28 Jul 2025
|
||||
include Settings
|
||||
-- 24 Aug 2025
|
||||
include Setting
|
||||
numeric digits 15
|
||||
|
||||
say 'PRIMALITY BY TRIAL DIVISION'
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
Function IsPrime(n)
|
||||
If n = 2 Then
|
||||
IsPrime = True
|
||||
ElseIf n <= 1 Or n Mod 2 = 0 Then
|
||||
IsPrime = False
|
||||
Else
|
||||
IsPrime = True
|
||||
For i = 3 To Int(Sqr(n)) Step 2
|
||||
If n Mod i = 0 Then
|
||||
IsPrime = False
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End Function
|
||||
|
||||
For n = 1 To 50
|
||||
If IsPrime(n) Then
|
||||
WScript.StdOut.Write n & " "
|
||||
End If
|
||||
Next
|
||||
Loading…
Add table
Add a link
Reference in a new issue