Hola... espero poder ayudarte....
podemos guardar los datos de las celdas en un vector de tipos lógicos para ser más sencillo... comenza por igualar todo el vector a False, que puede indicar que esa celda está cerrada, despúes con un ciclo for le pones la condición para que te cambie a true siempre que sea menor a N, .... ahora lo que no me queda claro es la condición.... en verdad es for i=1 to N do... i, 2i, 3i... porque en ese caso entiendo yo que desde i=1 hasta N, todas las llaves se van a abrir ya en la condición i<N.... porque lo que yo supongo que podría ser es
for i:= 1 to N
if i<N do begin
V:= true
end if;
if 2*i<N
V[2*i]:= true
end if;
if 3*i<N
V[3*i]:= true
end if;
end;
y despues le condicionas para imprimir... si no es asi, seria bueno que pongas el ejercicio un poco más claro porque es asi como yo entiendo.... pero esta instruccion te devuelve al final del ciclo que todos tienen valor True, o sea, todos están libres....