牛客编程巅峰赛S2第6场 - 钻石&王者 C题代码
class Solution {
public:
using ll = long long;
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param n int整型
* @return long长整型
*/
long long Sum(int n) {
// write code here
ll ans = 0, d;
ll root = sqrt(n);
ll cnt = 0;
for(ll i = 1; i <= root; i++) {
ans += n / i;
if(n % i == 0) cnt++;
}
ans = ans * 2 - root * root;
ans += n - 2 * cnt + (root * root == n);
return ans;
}
};
查看5道真题和解析
传音控股公司福利 356人发布