#力扣 LeetCode507. 完美數 @FDDLC
阿新 • • 發佈:2021-02-16
技術標籤:演算法&資料結構
題目描述:
https://leetcode-cn.com/problems/perfect-number/
Java程式碼:
class Solution { //1 <= num <= 108 public boolean checkPerfectNumber(int n) { int sqrt=(int)Math.sqrt(n),sum=sqrt*sqrt==n?-sqrt:0; for(int i=1;i<=sqrt;i++)if(n%i==0)sum=sum+i+n/i; return n<1?false:sum==n+n; } }
class Solution { //1 <= num <= 108
public boolean checkPerfectNumber(int n) {
int sqrt=(int)Math.sqrt(n),sum=sqrt*sqrt==n?-sqrt:0;
for(int i=1,d=n%2==1?2:1;i<=sqrt;i+=d)if(n%i==0)sum=sum+i+n/i;
return n<1?false:sum==n+n;
}
}