51nod-1240莫比乌斯函数


思路:

从2开始到sqrt(n)查询可以整除他的素数,并且判断这个素数的平方是否可以整除n,如果可以输出0,否则判断可以整除他的素数个数,奇数个输出-1,偶数个输出1

#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;

int main()
{
    int n ;
    cin>>n ;
    int prime=1;
    int flag=0;
    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            prime++;
            n/=i;
            if(n%i==0)
            {
                flag=1;
                break;
            }
        }
        if(flag==1)
            break;
                //cout<<prime<<endl;
    }
    if(flag)
        cout<<0<<endl;
    else
    {
        if(prime%2==0)
            cout<<1<<endl;
        else
            cout<<-1<<endl;
    }
    return 0;
}


智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告