求:

爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。

最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:

选出任一 x,满足 0 < x < N 且 N % x == 0 。

用 N - x 替换黑板上的数字 N 。

如果玩家无法执行这些操作,就会输掉游戏。

只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与游戏。

示例 1:

输入:2

输出:true

解释:爱丽丝选择 1,鲍勃无法进行操作。

示例 2:

输入:3

输出:false

解释:爱丽丝选择 1,鲍勃也选择 1,然后爱丽丝无法进行操作。

提示:

1 <= N <= 1000

解:

思路:

无论N多大,N总会在不断的博弈后变小,遇到N==2的人只需要取1,即可获胜。

当N为偶数时,只需要每次取x=1,则对面永远留下奇数,也只能每次取一个奇数的x,这样反复博弈后必定会遇到N==2的情形,即可获胜。

当N为奇数时,必须取一个奇数的x,这样留给对面的是偶数,对面只需要每次都取x=1,即可获胜。

因此问题等价于判断N的奇偶性,N为偶数本方胜,否则对方胜。

bool

divisorGame(

int

N){

return

N&

1

?

false

:

true

;

}

c语言最大字符1025,leetcode1025(除数博弈)--C语言实现相关推荐

  1. Leetcode1025.除数博弈

    Time: 20190903 Type: Easy 题目描述 爱丽丝和鲍勃一起玩游戏,他们轮流行动.爱丽丝先手开局. 最初,黑板上有一个数字 N .在每个玩家的回合,玩家需要执行以下操作: 选出任一 ...

  2. c语言最大字符1025,1025 反转链表 (25 分)C语言

    题目描述 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为 3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5 ...

  3. leetcode--1025. 除数博弈

    爱丽丝和鲍勃一起玩游戏,他们轮流行动.爱丽丝先手开局. 最初,黑板上有一个数字 N .在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == ...

  4. leetcode1025. 除数博弈(dp/数学)

    爱丽丝和鲍勃一起玩游戏,他们轮流行动.爱丽丝先手开局. 最初,黑板上有一个数字 N .在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == ...

  5. Leetcode每日一题:1025.divisor-game(除数博弈)

    解题思路:这个很无语啊,看懂题的都知道偶数爱丽丝赢,奇数爱丽丝输: 引用评论的一句话:洋洋洒洒十来行,一看题解就一行 C++代码: bool divisorGame(int N) {return !( ...

  6. ★LeetCode(1025)——除数博弈(JavaScript)

    爱丽丝和鲍勃一起玩游戏,他们轮流行动.爱丽丝先手开局. 最初,黑板上有一个数字N .在每个玩家的回合,玩家需要执行以下操作: 选出任一x,满足0 < x < N 且 N % x == 0. ...

  7. [Swift]LeetCode1025. 除数博弈 | Divisor Game

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  8. c语言用字符输出李字,二级C语言历年真题汇总__第10篇对文件的输入输出-李赛红.doc...

    第10章 对文件的输入输出 (2012年9月真题)(40)有以下程序 #include main() {?FILE *fp;int i,a[6]={1,2,3,4,5,6}; ???fp=fopen( ...

  9. c 语言往字符数组里面赋值,关于c 语言字符数组的赋值

    首先,在语法上,三句都是正确的,但按照C语言中字符串的用法,第二句是错误的,可能导致无法预料的错误结果. 在C语言中,我们一般说的字符串,其实就是字符数组(区别于C++,Java等语言),而用类似ch ...

最新文章

  1. 【vue】vue-znly
  2. 生产者消费者问题——C++ windows版 多生产者多消费者的队列实现
  3. ajax请求的完整步骤
  4. python详细基础教程-Python基础教程,Python入门教程(非常详细)
  5. 4.Boost之ref
  6. python key lambda_使用“key”和lambda表达式的python max函数
  7. 明白90/10的原理吗?
  8. Delphi MlSkin v3.9 (2019.4.15)发布啦! 它能让你的程序拥有像QQ一样多彩炫丽的外观...
  9. NTLite精简Windows 7 Ultimate SP1
  10. 移动前端开发和 Web 前端开发的区别是什么
  11. 支持多种登录模式的token方案设计(微信、支付宝登录等)和数据库设计含手机号绑定方法
  12. 网页连接至数据库(asp->mdb)
  13. 真杜比全景声家庭影院级投影设备,当贝做到了五千元内也支持
  14. imx6ull 下 UART5问题
  15. Ae 中英文版本切换批处理文件
  16. 视联网将会给行业带来怎么样的发展
  17. 福建厦门双十计算机竞赛,22人夺一等奖!恭喜厦门一中、双十中学、实验中学...
  18. win10+1080Ti+双硬盘(SSD+HDD)下安装Ubuntu16.04双系统
  19. Oracle表空间清理
  20. OpenWorm项目

热门文章

  1. 《计算机网络 自顶向下》第一章==计算机网络和因特网==随堂笔记
  2. python爬虫之selenium的使用
  3. web安全性测试用例(输入、输出、SQL注入、跨站请求伪造(CSRF)、跨站脚本攻击(XSS))实实在在的干货
  4. AltiumDesigner覆铜挖空技巧总结
  5. 和Bus365从政策聊到行业格局,二度梳理城际客运市场
  6. 【硬见小百科】高速PCB设计中的阻抗匹配
  7. ipqc的工作流程图_品质部各人员工作流程图
  8. 华为荣耀总裁刘江峰正式宣告离职
  9. switch-case使用方法
  10. 数字电子技术基础 - 时序逻辑电路