RosettaCodeData/Task/M-bius-function/EasyLang/m-bius-function.easy

29 lines
458 B
Plaintext

mu_max = 100000
sqroot = floor sqrt mu_max
#
for i to mu_max
mu[] &= 1
.
for i = 2 to sqroot
if mu[i] = 1
for j = i step i to mu_max : mu[j] *= -i
for j = i * i step i * i to mu_max : mu[j] = 0
.
.
for i = 2 to mu_max
if mu[i] = i
mu[i] = 1
elif mu[i] = -i
mu[i] = -1
elif mu[i] < 0
mu[i] = 1
elif mu[i] > 0
mu[i] = -1
.
.
numfmt 3 0
for i = 1 to 100
write mu[i]
if i mod 10 = 0 : print ""
.