Jump to content

Perfect numbers: Difference between revisions

Updated second D entry
(Updated second D entry)
Line 490:
<lang d>import std.stdio, std.algorithm, std.range;
 
bool isPerfect(in intuint n) /*pure nothrow*/ {
in {
return n == iota(1, n - 1).reduce!((s, i) => n % i ? s : s + i);
assert(n > 0);
} body {
return n == iota(1, n - 1).reduce!((s, i) => n % i ? s : s + i)(0, iota(1, n-1));
}
 
void main() {
iota(31, 10_000).filter!isPerfect.writeln;
}</lang>
 
Cookies help us deliver our services. By using our services, you agree to our use of cookies.