Ulam spiral (for primes): Difference between revisions
m
→using FreePascal
Line 3,390:
<lang Pascal>
PROGRAM Ulam.pas;
{$IFDEF FPC}
Line 3,396 ⟶ 3,397:
{$APPTYPE CONSOLE}
{$ENDIF}
(*)
Line 3,411 ⟶ 3,413:
Only odd numbers work
(*)
SIZE = 9 ;
MSIZE = SIZE * ord ( Odd ( SIZE ) ) ;
TYPE
D2Arr = array of array of string ;
FUNCTION IsPrime ( n: integer ): boolean ;
Line 3,434 ⟶ 3,437:
END;
PROCEDURE Init2DArr ( Arr: D2Arr ) ;
Line 3,441 ⟶ 3,445:
mid: integer = MSIZE div 2 ;
BEGIN
FOR j:= 1 to MSIZE - mid - 1 DO
Line 3,454 ⟶ 3,456:
END;
PROCEDURE Advance ( var Turn_cnt, x, y: integer ) ;
Line 3,467 ⟶ 3,470:
END;
PROCEDURE Add2DArr ( Arr: D2Arr ) ;
Line 3,497 ⟶ 3,501:
END;
PROCEDURE Show2DArr ( Arr: D2Arr ; glyph : Boolean ) ;
Line 3,522 ⟶ 3,527:
END;
VAR
Line 3,527 ⟶ 3,533:
BEGIN
IF ( MSIZE = 0 ) THEN
BEGIN
Line 3,537 ⟶ 3,544:
Show2DArr ( Arr , False ) ;
Show2DArr ( Arr , True ) ;
END.
</lang>JPD 2021/06/14
|