zoukankan      html  css  js  c++  java
  • LightOJ 1336 Sigma Function

    /*
     LightOJ 1336    Sigma Function
     http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1336
    数论 奇偶性
    题目求f(n)为偶数的个数
    我们发现如果f(n)为奇数,则n为x^2,2*x^2,2^x三种形式,
    因为2^x中已经包含剩下两种,
    所以只需求x^2和2*x^2的个数即可求得答案。
     *
     打了半天表发现没用233333
     *
     */
    
    
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    int main()
    {
        //freopen("a.in","r",stdin);
        int t;
        scanf("%d",&t);
        long long n;
        int j=1;
        while(t--)
        {
            scanf("%lld",&n);
            long long ans=0;
            for(long long i=1;i*i<=n;i++)
            {
                if(2*i*i<=n)
                    ans++;
                ans++;
            }       
            ans=n-ans;
            printf("Case %d: %lld
    ",j,ans); 
            j++;
        }
        return 0;
    
    }
    
    
    
    
    
    //打表
    /*#include <cstdio>*/
    //#include <algorithm>
    //using namespace std;
    //const int Nmax=10001;
    //int prime[Nmax];
    //int is_prime[Nmax];
    //int cnt;
    //int m[Nmax];
    //int times[Nmax];
    //int num;
    //void get_prime()
    //{
        //for(int i=2;i<Nmax;i++)
            //is_prime[i]=1;
        //for(int i=2;i<Nmax;i++)
        //{
            //if(is_prime[i])
            //{
                //prime[++cnt]=i;
                //for(int j=2;j*i<Nmax;j++)
                    //is_prime[i*j]=0;
            //}
        //}
    //}
    
    //int pow(int base,int n)
    //{
        //int ans=1;
        //while(n>0)
        //{
            //if(n&1)
                //ans*=base;
            //base*=base;
            //n>>=1;
        //}
        //return ans;
    //}
    
    //int check()
    //{
        //for(int i=1;i<=num;i++)
        //{
            //int a=pow(m[i],times[i]+1)-1;
            //int b=m[i]-1;
            //a/=b;
            //if(!(a&1))
                //return 1;
        //}
        //return 0;
    //}
    
    //void get(int n)
    //{
        //num=0;
        //int i=1;
        //while(prime[i]*prime[i]<=n)
        //{
            //if(n%prime[i]==0)
            //{
                //++num;
                //times[num]=0;
                //m[num]=prime[i];
            //}
            //while(n%prime[i]==0)
            //{
                //n/=prime[i];
                //times[num]++;
            //}
            //i++;
        //}
        //if(n!=1)
        //{
            //++num;
            //times[num]=1;
            //m[num]=n;
        //}
    //}
    
    
    //void print(int n)
    //{ 
        //int ans=0;
        //for(int i=2;i<=n;i++)
        //{
            //get(i);
            //ans+=check();
        //} 
        //printf("%d:%d
    ",n,ans);
    //}
    
    //int main()
    //{   
        //get_prime();
        //for(int n=1;n<=1000;n++)
        //{
            //print(n);
        //}
        //return 0;
    /*}*/
  • 相关阅读:
    Flask框架基础4
    Flask框架基础3
    Flask框架基础2
    Flask框架基础1
    项目上线流程-Django后端+vue前端
    Git操作
    DRF-jwt认证
    四种方式实现单例模式
    drf框架4-views视图家族操作
    drf框架3-ModelSerializer操作序列化与反序列化
  • 原文地址:https://www.cnblogs.com/BBBob/p/6526728.html
Copyright © 2011-2022 走看看