Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
20
Task/Weird-numbers/Sidef/weird-numbers.sidef
Normal file
20
Task/Weird-numbers/Sidef/weird-numbers.sidef
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
func is_pseudoperfect(n, d = n.divisors.slice(0, -2), s = d.sum, m = d.end) {
|
||||
|
||||
return false if (m < 0)
|
||||
|
||||
while (d[m] > n) {
|
||||
s -= d[m--]
|
||||
}
|
||||
|
||||
return true if (n == s)
|
||||
return true if (d[m] == n)
|
||||
|
||||
__FUNC__(n-d[m], d, s-d[m], m-1) || __FUNC__(n, d, s-d[m], m-1)
|
||||
}
|
||||
|
||||
func is_weird(n) {
|
||||
(n.sigma > 2*n) && !is_pseudoperfect(n)
|
||||
}
|
||||
|
||||
var w = (1..Inf -> lazy.grep(is_weird).first(25))
|
||||
say "The first 25 weird numbers:\n#{w.join(' ')}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue