LeetCode 1362. 最接近的因数

原题目:https://leetcode-cn.com/problems/closest-divisors/submissions/

 

思路:

根据数学常识,相差最小的因数一定是离平方根最近的。找到第一个break就好了。

 

代码:

class Solution {
public:
    vector closestDivisors(int num) {
        vector a(2);
        int minn = 9999999999;
        for(int i=num+1;i<=num+2;i++){
            for(int j=sqrt(i);j>=1;j--){
                if(i%j==0){
                    if(abs(j-i/j) < minn){
                        minn = abs(j-i/j);
                        a[0]=j;a[1]=i/j;
                    }
                    break;
                }
            }
        }
        return a;
    }
};

 

 

你可能感兴趣的:(LeetCode)