RosettaCodeData/Task/M-bius-function/11l/m-bius-function.11l

33 lines
448 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
F isPrime(n)
I n < 2
R 0B
L(i) 2 .. n
I i * i <= n & n % i == 0
R 0B
R 1B
F mobius(n)
I n == 1
R 1
V p = 0
L(i) 1 .. n
I n % i == 0 & isPrime(i)
I n % (i * i) == 0
R 0
E
p = p + 1
I p % 2 != 0
R -1
E
R 1
print(Mobius numbers from 1..99:)
L(i) 1..99
print(f:{mobius(i):4}, end' )
I i % 20 == 0
print()