Perfect Numberalgorithm
PERFECT NUMBER
The program intakes a number and checks if it is a perfect number or not.
A perfect number is equal to the sum of its divisors excluding itself.
problem in solidity:
perfect number is to hard for calculate in solidity.
so, use 2 or 3 digit's nums for test.
Review
- SmartContract
function perfectNum(uint num) internal pure returns (bool s) {
require(num != 0,"0 is not valid");
uint sum = 0;
uint div = 0;
for(uint i = 1; i < num; i++) {
div = num % i;
if (div == 0) sum = sum + i;
}
sum == num ? s = true : s = false; // short if
}