Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
|
|
@ -0,0 +1,79 @@
|
|||
program DuffinianNumbers;
|
||||
|
||||
CONST
|
||||
MaxSigma = 10000;
|
||||
|
||||
VAR
|
||||
seen, cur: CARDINAL;
|
||||
sigma: ARRAY [1..MaxSigma] OF CARDINAL;
|
||||
|
||||
PROCEDURE CalculateSigmaTable;
|
||||
VAR i, j: CARDINAL;
|
||||
BEGIN
|
||||
FOR i := 1 TO MaxSigma DO
|
||||
BEGIN
|
||||
sigma[i] := 0
|
||||
END;
|
||||
FOR i := 1 TO MaxSigma DO
|
||||
BEGIN
|
||||
j := i;//2*i -> sigma(n)-n
|
||||
WHILE j <= MaxSigma DO
|
||||
Begin
|
||||
INC(sigma[j], i);
|
||||
INC(j, i);
|
||||
END
|
||||
END
|
||||
END;// CalculateSigmaTable;
|
||||
|
||||
FUNCTION GCD(a, b: CARDINAL): CARDINAL;
|
||||
VAR c: CARDINAL;
|
||||
BEGIN
|
||||
WHILE b <>0 DO
|
||||
Begin
|
||||
c := a MOD b;
|
||||
a := b;
|
||||
b := c
|
||||
END;
|
||||
EXIT(A)
|
||||
END;// GCD;
|
||||
|
||||
function IsDuffinian(n: CARDINAL): BOOLEAN;
|
||||
BEGIN
|
||||
EXIT( (sigma[n] > n+1) AND (GCD(n, sigma[n]) = 1))
|
||||
END;// IsDuffinian;
|
||||
|
||||
FUNCTION IsDuffinianTriple(n: CARDINAL): BOOLEAN;
|
||||
BEGIN
|
||||
EXIT(IsDuffinian(n) AND IsDuffinian(n+1) AND IsDuffinian(n+2));
|
||||
END;// IsDuffinianTriple;
|
||||
|
||||
BEGIN
|
||||
CalculateSigmaTable;
|
||||
Writeln('First 50 Duffinian numbers:');
|
||||
WriteLn;
|
||||
cur := 0;
|
||||
FOR seen := 1 TO 50 DO
|
||||
Begin
|
||||
REPEAT
|
||||
INC(cur)
|
||||
UNTIL IsDuffinian(cur);
|
||||
Write(cur:4);
|
||||
IF seen MOD 10 = 0 THEN
|
||||
WriteLn;
|
||||
END;
|
||||
|
||||
WriteLn;
|
||||
WriteLn('First 15 Duffinian triples:');
|
||||
WriteLn;
|
||||
cur := 0;
|
||||
FOR seen := 1 TO 15 DO
|
||||
BEGIN
|
||||
REPEAT
|
||||
INC(cur)
|
||||
UNTIL IsDuffinianTriple(cur);
|
||||
Write(cur:6);
|
||||
Write(cur+1:6);
|
||||
Write(cur+2:6);
|
||||
WriteLn;
|
||||
END
|
||||
END.// DuffinianNumbers.
|
||||
Loading…
Add table
Add a link
Reference in a new issue