let max = 1000 in let primes = Array.create 1000 true in let num = 2 in let outer_func num = if num == sqrt.max then num else if primes.(num) == true then let pos = num * num in let inner_func pos = if pos > max then pos else ( primes.(pos)<-false;); inner_func (pos + num); outer_func (num + 1); for counter = 2 to max do if primes.(counter) == true then print_line counter; done;;