我们枚举x是多少数的因子时,会发现一定是一个数大于sqrt(n),另一个小于sqrt(n)
也就是说x*y可以枚举到,但y*x是枚举不到的,
对于2来说有2*1,2*2,2*3,2*4,2*5......2*n/2
那么对于2出现了n/2对乘式,那么质因子个数为2*n/2也就是x个
但是1*2是已经出现了的2*2是重复了的
对于3也就是3*1,3*2,是重复出现的,同理对于第i个数会重复出现i-1次
也就是要对n/i*2的结果减去(i-1)*2,但i*i是重复出现的,只能算一次
所以要再减一,化简后就是(n/i-i)*2+1;
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
typedef long long ll;

int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        ll ans = 0;
        for(int i = 1; i*i <= n; i ++)
            ans += (n/i-i+1)*2-1;
        cout<<ans<<endl;
    }
    
    return 0;
}