LightOj 1336(Sigma Function)

lightoj 1336

题目大意:

已知  x=p1e1p2e2pkek σ(x)=i=1kpiei+11pi1 ;
x[1,n] 中, x 为偶数的个数;

思路:

σ(x) 为偶数,只要存在因子 piei+11pi1 为偶数即成立;
x 存在素因子为奇数次;
(1)t=p2n , 即 t 的因子都为偶数次;
(2)t=2q2n ;
2ei+1121=2p,2ei+1=2p+1 ; 恒不成立,即因子 2 的个数不影响结果,排除 2 为奇数个的情况;

ans=p+q ;

#include 
#include 
#include  
#define LL long long

using namespace std;

int main()
{
    int T;
    scanf("%d", &T);

    for (int cas = 1; cas <= T; cas++)
    {
        LL n;
        scanf("%lld", &n);

        int ans = (int)sqrt(n * 1.0) + (int)sqrt(n * 1.0 / 2);

        printf("Case %d: %lld\n", cas, n - ans);
    }
}

/*
1000000000000
*/

你可能感兴趣的:(数论,lightoj)