lightoj1336 约数和

/*
sigma(n)的每一项都可以看成是个pi的[0,ei]等比数列求和公式,那么sigma(n)就是n所有正约数的和
要求找到sigma(x)为奇数的个数1<=x<=n
*/

看题解的。。

#include<stdio.h>
int main()
{
    int T, kase = 0;
    long long n;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%lld", &n);
        long long ans = 0;
        for(long long i = 1; i*i <= n; i++)
        {
            ans++;
            if(2*i*i<=n)
                ans++;
        }
        printf("Case %d: %lld
", ++kase, n-ans);
    }

}
原文地址:https://www.cnblogs.com/zsben991126/p/10386931.html