显然本题能操作的次数与n的质因子个数有关
当一个数被分解成质数后便不能再次分解
所以在质因数分解的函数中添加判断使其值不能被除到1即可
记录可操作次数,奇数答案为J,偶数为N
#include<bits/stdc++.h>
using namespace std;
int divide(int x)
{
int cnt=0;
for(int i=2;i*i<=x;++i)
{
while(x%i==0&&x!=i)
{
x/=i;
cnt++;
}
}
//if(x>1) cnt++;
return cnt;
}
int main()
{
int n;
cin>>n;
int tmp = divide(n);
//cout<<tmp<<'\n';
//if(!tmp) cout<<"Nancy\n";
if(tmp&1) cout<<"Johnson\n";
else cout<<"Nancy\n";
}