Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
25
Task/Circular-primes/PascalABC.NET/circular-primes.pas
Normal file
25
Task/Circular-primes/PascalABC.NET/circular-primes.pas
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
##
|
||||
function IsPrime(n: integer): boolean;
|
||||
begin
|
||||
result := false;
|
||||
for var i := 2 to n.Sqrt.Floor do
|
||||
if n mod i = 0 then
|
||||
exit;
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function rotations(n: integer): sequence of integer;
|
||||
begin
|
||||
var a := n.tostring;
|
||||
for var i := 1 to a.Length do
|
||||
yield (a[i:] + a[:i]).ToInteger;
|
||||
end;
|
||||
|
||||
function isCircular(n: integer): boolean;
|
||||
begin
|
||||
var rot := rotations(n);
|
||||
if rot.first = rot.min then
|
||||
result := rot.All(x -> isPrime(x));
|
||||
end;
|
||||
|
||||
(2..1000_000).Where(x -> isCircular(x)).Take(19).Println;
|
||||
Loading…
Add table
Add a link
Reference in a new issue