RosettaCodeData/Task/Euclid-Mullin-sequence/SETL/euclid-mullin-sequence.setl
2023-12-16 21:33:55 -08:00

19 lines
437 B
Text

program euclid_mullin;
print(2);
product := 2;
loop for i in [2..16] do
next := smallest_factor(product + 1);
product *:= next;
print(next);
end loop;
op smallest_factor(n);
if even n then return 2; end if;
d := 3;
loop while d*d <= n do
if n mod d=0 then return d; end if;
d +:= 2;
end loop;
return n;
end op;
end program;