Perfect numbers: Difference between revisions

Updated D entry
(Add LabVIEW)
(Updated D entry)
Line 310:
<lang d>import std.stdio, std.math, std.range, std.algorithm;
 
pure nothrow bool isPerfectNumber(in int n) pure nothrow {
if (n < 2)
return false;
 
int sum = 1;
foreach (i; 2 .. cast(int)sqrt(cast(real)n) + 1)
if (n % i == 0) {
sum += i;
immutable int q = n / i;
sum += i;
if (q > i)
sum += q;
}
 
return sum == n;
}
Anonymous user