zoukankan      html  css  js  c++  java
  • LightOJ

    题干中给出函数公式:

      

    其中pi为n的每个素因数,ei为其个数。设该函数为F(x),其意义为x的约数之和。问在1-n中有多少x,令F(x)为偶数。

    分析:设f(p)为(p^(e+1)-1)/(p-1)。若F(x)为奇数,则任意的f(pi)都为奇数。

    f(p)还可以写成:f(p)= (1+p^1+p^2+...+p^e)。则当p==2时,f(p)肯定是奇数(偶数+1);当p!=2时,因为p是素数,所以p一定是奇数。则e偶数时,f(p)为奇数。

    所以一个数x若可以表示为 (2^2k1)*(3^2k2)*(5^2k3)*....*(pn^2kn)的形式,即x是平方数或2x是平方数的时候,其F(x)为奇。

    那么对给定的n,sqrt(n)+sqrt(n/2)的值就是1-n中约数和为奇数的个数。相减得到答案

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    const int maxn = 1000015;
    
    int main()
    {
        #ifndef ONLINE_JUDGE
            freopen("in.txt","r",stdin);
            freopen("out.txt","w",stdout);
        #endif
        int T,N,a,cas=1;
        LL n;
        scanf("%d",&T);
        while(T--){
            scanf("%lld",&n);
            LL ans = n - (LL)sqrt(n/2) - (LL)sqrt(n);
            printf("Case %d: %lld
    ",cas++,ans);
        }
        return 0;
    }
    为了更好的明天
  • 相关阅读:
    关于Token
    利用Chrome模拟访问移动端网页
    文件上传
    final修饰符
    后台返回字符串类型function的处理 (递归算法)
    javascript typeof
    单点登录的原理与简单实现
    response.setHeader()的用法
    UML类图6种关系的总结
    子类父类属性的覆盖(继承)
  • 原文地址:https://www.cnblogs.com/xiuwenli/p/9441387.html
Copyright © 2011-2022 走看看