-- ELIA MONDADA with Ada.Text_IO, Ada.Integer_Text_IO; use Ada.Text_IO, Ada.Integer_Text_IO; procedure numeriprimi is type primi is array (1..1000) of boolean; X : primi; Pos : Integer; T : Integer; begin for I in 1..1000 loop X(I) := true; end loop; X(1):= False; Pos := 1; while Pos < 1000 Loop for I in Pos+1..1000 loop if X(I)= true then Pos:= I; exit; end if; end loop; T := Pos; while T < 1000-pos loop T:=T+Pos; X(T) := false; end loop; end loop; for I in 1..999 loop if X(I)= true then Put (I,8); end if; end loop; end numeriprimi;