我们由题意可知,当不能操作的时候就是里面全部都是质数的时候,那么由某个我忘了叫什么的定理“任何一个大于1的自然数都可以被分解为若干个质数,所以这一题我们要做的就是求出有多少个质数,然后看看是奇数还是偶数,
1 #include <bits/stdc++.h>
2 #define int long long
3 const int maxn=1e5+50;
4 const int INF=0x3f3f3f3f;
5 int a[maxn];
6 using namespace std;
7 signed main(){
8 int n;
9 cin>>n;
10 int ans=0;
11 if(n==1)cout<<"Nancy";
12 else{
13 while(n>1){
14 for(int i=2;i<=n;i++){
15 if(n%i==0){
16 ans++;n=n/i;
17 break;
18 }
19 }
20 }
21 if(ans&1)cout<<"Nancy";
22 else cout<<"Johnson";}
23 return 0;
24 }