题解 | #Game#

Game

https://ac.nowcoder.com/acm/problem/201610

题目描述

Nancy喜欢博弈! Johnson和Nancy得到了一个神奇的多重集合,仅包含一个正整数n,两个人轮流进行操作。 一次操作可以将集合中一个数字分解为它的任意两个非1的因数,并加入集合中。 他们想知道,在Johnson和Nancy绝顶聪明的情况下,如果Nancy先手进行操作,最后谁没有办法继续操作了呢?

输入描述:

第一行:一个整数n。 数据满足:2≤n≤95718。

输出描述:

共一行:一个字符串,表示最后谁(Johnson或者Nancy)无法进行操作。

示例1

输入

4

输出

Johnson

思路

当n≠1时,n的任意非1因数可以由其若干个质因数乘积表示。无论过程怎么样,最终n将被分解为唯一的若干个质因数,且
。如12分解为3,4,再分解为3,2,2,也可以分解为6,2,再分解为3,2,2。

实现如下:

#include<cstdio>
int main()
{
    int n,i=0;
    scanf("%d",&n);
    for(int j=2;j<=n;++j)while(n%j==0)n/=j,++i;
    printf("%s",i%2?"Nancy":"Johnson");
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 13:35
虽然不怎么光彩,经过这件事,可能我真的要去认同“面试八股文早该淘汰!不会用AI作弊的程序员=新时代文盲!”这句话了
HellowordX:Ai的出现是解放劳动力的,不是用来破坏公平竞争环境的,这样下去,轻则取消所有线上面试,严重了会影响整个行业对所有人产生影响,企业会拉高入职考核各种离谱考核会层出不穷
你找工作的时候用AI吗?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 11:35
程序员小白条:话太多,没实力和学历,差不多回答回答就行了,身份地位不一样
点赞 评论 收藏
分享
05-24 14:12
门头沟学院 Java
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务