题目要求
P4702题目链接
这游戏玩的看似博弈,其实是大水题,求和然后看是奇数偶数而已。
long是够的,但我不想求和,想讲讲很多数据的处理方式: 逐个数判断+位运算。
其实,(temp & 1) == 1就是判奇数的了,会快一些的。
还有就是设一个布尔值,表示是否为奇数。 怎么变化这个布尔值呢?
其实抽到偶数是不改变原先布尔值的(奇偶性),但抽到奇数就会使得原先奇数变成偶数,偶数变成奇数。 这一步的写法是:
if ((temp & 1) == 1) {
isOdd = !isOdd;
}
妙不可言!
AC代码(Java语言描述)import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
//非奇数==偶数
boolean isOdd = false;
for (int i = 0; i
关注
打赏
热门博文
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Node.js】Windows环境安装配置NVM和Node.js
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法