Data update
This commit is contained in:
parent
52a6ef48dd
commit
157b70a810
604 changed files with 14253 additions and 2100 deletions
42
Task/Factorial-primes/PascalABC.NET/factorial-primes.pas
Normal file
42
Task/Factorial-primes/PascalABC.NET/factorial-primes.pas
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
function IsPrime(n: int64): boolean;
|
||||
begin
|
||||
if (n = 2) or (n = 3) then Result := true
|
||||
else if (n <= 1) or ((n mod 2) = 0) or ((n mod 3) = 0) then Result := false
|
||||
else
|
||||
begin
|
||||
var i := 5;
|
||||
Result := False;
|
||||
while i <= trunc(sqrt(n)) do
|
||||
begin
|
||||
if ((n mod i) = 0) or ((n mod (i + 2)) = 0) then exit;
|
||||
i += 6;
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
function Factorial(n: integer): int64;
|
||||
begin
|
||||
Result := 1;
|
||||
for var i := 2 to n do Result *= i;
|
||||
end;
|
||||
|
||||
begin
|
||||
var found := 0;
|
||||
var i := 1;
|
||||
while found < 10 do
|
||||
begin
|
||||
var fact := Factorial(i);
|
||||
if IsPrime(fact - 1) then
|
||||
begin
|
||||
writeln(i:2, '! - 1 = ', fact - 1);
|
||||
found += 1;
|
||||
end;
|
||||
if IsPrime(fact + 1) then
|
||||
begin
|
||||
writeln(i:2, '! + 1 = ', fact + 1);
|
||||
found += 1;
|
||||
end;
|
||||
i += 1;
|
||||
end;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue