DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦3c2ffc534⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »prime11tx   «

Derivation

└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
    └─⟦75ff9bef3⟧ 
        └─⟦this⟧ »prime11tx   « 

TextFile


program prime1 (input, output);

const
  n=100; 

type
  positive = 1..maxint;

var
  sieve_count         : integer;
  sieve, primes       : set of 2..n;
  nextprime, multiple : positive;

procedure write_sieve ;
  var
    count : integer;
    prime : positive;
begin
    sieve_count := sieve_count + 1;
    writeln (output);
    writeln ('Sieve : sieve count =', sieve_count:4);
    count := 0;
    for prime := 2 to n do
    begin
      write (count:3, ':');
      if prime in sieve then
      begin
        write (prime:6);
        count := count + 1;
        if (count mod 8) = 0 then
          writeln (output);
      end;
    end;
end;

begin æinitializeå
  sieve_count := 0; sieve := Æ2..nÅ; primes := ÆÅ; nextprime := 2; 
  
  repeat æ find next primeå
    write_sieve ;

    while not (nextprime in sieve) do
      nextprime := succ (nextprime);

    primes := primes + ÆnextprimeÅ;
    multiple := nextprime;

    while multiple <= n do æeliminateå
    begin
      sieve := sieve - ÆmultipleÅ;
      write_sieve;
      multiple := multiple + nextprime;
    end;

æ   write_sieve ;
å
æ   write (nextprime:6);
    count := count + 1;
    if (count mod 8) = 0 then
      writeln (output);
å
  until sieve = ÆÅ;
end.
▶EOF◀