本文共 520 字,大约阅读时间需要 1 分钟。
原题目:
思路:
根据数学常识,相差最小的因数一定是离平方根最近的。找到第一个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; }};
转载地址:http://idpzi.baihongyu.com/