leetcode 1025:除数boy

本文探讨了一种基于奇偶性的简单博弈论算法。在一场两人游戏中,参与者轮流从初始值N减去其因数,目标是使对手面对N=2的局面。通过分析奇数和偶数的因数特性,我们发现只需判断N的奇偶性即可预测胜者。如果N为偶数,遵循特定策略的玩家将赢得比赛;反之,若N为奇数,则该玩家将失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

算法思想:首先要明白谁先到N=2谁赢,奇数的因数肯定都是奇数,偶数的因数有奇数和偶数,由于最优策略,最后肯定是到N=2的。如果N是偶数,爱丽丝只要选奇数,不行就一直选1,那么最后N=2的时候肯定是爱丽丝赢,相反的假如N是奇数,因数也是奇数,那么到鲍勃N就是偶数,那么爱丽丝肯定输。所以最后只需要判断奇偶就行了。

 

代码:

    bool divisorGame(int N) {
        if( N%2 == 0)
            return true;
        else
            return false;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值