51 nod 1240 莫比乌斯函数 (质因数分解)

来源:互联网 发布:modemcu 阿里云搭建 编辑:程序博客网 时间:2024/06/17 02:19

题目:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1240

#include<cstdio>#include<queue>#include<iostream>#include<vector>#include<map>#include<cmath> #include<cstring>#include<string>#include<set>#include<stack>#include<algorithm>#include<stdlib.h>#include<time.h>#define cle(a) memset(a,0,sizeof(a))#define inf(a) memset(a,ox3f,sizeof(a))#define ll long long#define Rep(i,a,n) for(int i=a;i<=n;i++)using namespace std;const int INF = ( 2e9 ) + 2;int main(){int n;scanf("%d",&n);int len=(int)((double)sqrt(n)+1);int flag=1;int num=0;for(int i=2;i<=len;i++)  {if(n%i==0){num++;   // 记录质因子个数 int cnt=0; while(n%i==0){n/=i;cnt++;}if(cnt>=2){flag=0;break;}}}if(n!=1)num++;//剩下一个质数 if(flag==0){printf("0\n");return 0;}if(num&1)printf("-1\n");elseprintf("1\n");}

原创粉丝点击