给定一个正整数n,求
。式子中[x]为下取整。
答案可能会很大,输出答案对998244353取模后的值。
public int work (long n) { long sum=0; for(long i=1;i*i<=n;i++) { if(n/i!=i) sum+=n/i+i*(n/i-n/(i+1)); else sum+=n/i; } return(int)(sum%998244353); }
class Solution: def work(self , n ): numSum = n left = 2 rightR = n rightL = n // 2 while left <= rightL: numSum = numSum + (n // left) + (left - 1) * (rightR - rightL) left += 1 rightR = rightL rightL = n // left if left - rightL == 1: numSum += rightL return numSum % 998244353