Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
49
Task/Weird-numbers/11l/weird-numbers.11l
Normal file
49
Task/Weird-numbers/11l/weird-numbers.11l
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
F divisors(n)
|
||||
V divs = [1]
|
||||
[Int] divs2
|
||||
V i = 2
|
||||
L i * i <= n
|
||||
I n % i == 0
|
||||
V j = n I/ i
|
||||
divs [+]= i
|
||||
I i != j
|
||||
divs2 [+]= j
|
||||
i++
|
||||
R divs2 [+] reversed(divs)
|
||||
|
||||
F abundant(n, divs)
|
||||
R sum(divs) > n
|
||||
|
||||
F semiperfect(n, divs) -> Bool
|
||||
I !divs.empty
|
||||
V h = divs[0]
|
||||
V t = divs[1..]
|
||||
I n < h
|
||||
R semiperfect(n, t)
|
||||
E
|
||||
R n == h | semiperfect(n - h, t) | semiperfect(n, t)
|
||||
E
|
||||
R 0B
|
||||
|
||||
F sieve(limit)
|
||||
V w = [0B] * limit
|
||||
L(i) (2 .< limit).step(2)
|
||||
I w[i]
|
||||
L.continue
|
||||
V divs = divisors(i)
|
||||
I !abundant(i, divs)
|
||||
w[i] = 1B
|
||||
E I semiperfect(i, divs)
|
||||
L(j) (i .< limit).step(i)
|
||||
w[j] = 1B
|
||||
R w
|
||||
|
||||
V w = sieve(17'000)
|
||||
V count = 0
|
||||
print(‘The first 25 weird numbers:’)
|
||||
L(n) (2..).step(2)
|
||||
I !w[n]
|
||||
print(n, end' ‘ ’)
|
||||
count++
|
||||
I count == 25
|
||||
L.break
|
||||
Loading…
Add table
Add a link
Reference in a new issue