牛客 Game 【博弈】

 我们由题意可知,当不能操作的时候就是里面全部都是质数的时候,那么由某个我忘了叫什么的定理“任何一个大于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 }

猜你喜欢

转载自www.cnblogs.com/ahijing/p/12904442.html