51 nod 1240 莫比乌斯函数 (质因数分解)
2017-07-31 12:30
435 查看
题目: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");
else
printf("1\n");
}
#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");
else
printf("1\n");
}
相关文章推荐
- 莫比乌斯函数(51nod-1240)
- 51 NOD 1244 莫比乌斯函数之和(杜教筛)
- 莫比乌斯函数之和(51nod 1244)
- 51-Nod 1995 三子棋
- [51Nod](1082) 与7无关的数 ---- 模拟+打表
- 51 nod 1265 四点共面
- STL之map应用 +hash表(51nod 1095)
- [51 nod]1009 数字1的数量
- 51 nod 1376 最长递增子序列的数量(二维偏序cdq)
- 51 NOD 1188 最大公约数之和 V2(基础数论)
- 51 nod 1405 树的距离之和
- 51 nod 1495 中国好区间
- 51—Nod 1384 全排列
- (51nod)1009 - 数字1的数量
- 整体二分(51nod 雪之国度)
- 51 nod 1188 最大公约数之和 V2(狄利克雷卷积+线性筛法)
- 【51nod 1085 背包问题】
- 51 nod 1495 中国好区间 奇葩卡时间题 700ms 卡O(n-log(n)), 思路:O(n)尺取法
- 51 NOD 1753 相似子串 字符串hash
- 51 nod 1574 排列转换(思维 贪心)