% $Id: sieve.slang,v 1.0 2003/01/03 12:51:00 dada Exp $
% http://dada.perl.it/shootout/
%
% contributed by John E. Davis
define main()
{
variable NUM = integer (__argv[1]);
variable flags = Int_Type[8192 + 1];
loop (NUM)
{
flags[*] = 1;
variable count = 0;
_for (2, 8192, 1)
{
variable i = ();
if (flags[i])
{
#iftrue
flags[[i+i:8192:i]] = 0;
#else
_for (i+i, 8192, i)
{
variable j = ();
flags[j] = 0;
}
#endif
count++;
}
}
}
vmessage ("Count: %d", count);
}
main();