杀疯了!十二种奇偶性判断方法!

目录

一.写在开头

二.逐一讲解

1.数学运算方式

1.1除二取整法

1.2取余数法

2.位运算方法

2.1位与的方法

2.2异或的方法

2.3位或的方法

2.4左右移

3.查找法

4.记录法

4.1轮换记录法

4.2数组比较法

4.3枚举法

5.文本分析法

5.1取尾数

5.2平方取尾数

三.写在最后


一.写在开头

给大家展示十二种奇偶性判断方法

这里全部以易语言为示例,可以迁移到其他编程语言

其他语言可以参照着进行

我们这里写windows控制台

软件运行情况

二.逐一讲解

1.数学运算方式

1.1除二取整法

这个方法是我自己研究出来的一种传统方法,也是最先想出来的,所以放在最前面

利用的是一些数学原理,具体的可以看之前的文章或者B站的视频

.版本 2

.程序集 程序集1

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

判断奇偶性 ()
返回 (0)  ' 可以根据您的需要返回任意数值

.子程序 判断奇偶性, , 公开
.局部变量 x, 双精度小数型

' 基于数学方法进行的判断
x = 到数值 (标准输入 ())
.如果真 (取整 (x) ≠ x)
    标准输出 (, “小数” + #换行符)
    判断奇偶性 ()
.如果真结束
.如果 (取整 (x ÷ 2) × 2 ≠ x)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)
.如果结束
判断奇偶性 ()

具体方法就是除二取整再乘二,奇数就自然而然的变成了偶数,这样就和原来不同了

这里,取整命令可以使用四舍五入替代

1.2取余数法

这是一种很常见的方法,你们应该也见过

和上面的代码基本相同,把下面的代码替换掉上面的那个如果就好

.版本 2

.如果 (x % 2 = 1)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)

2.位运算方法

2.1位与的方法

位运算的应用范围还是挺广泛的,如果不了解的同学很多我就单写一篇文章给大家深入讲讲,所以如果你不会可以发到评论区里面让我看到

还是替换上面如果中的内容

.版本 2

.如果 (位与 (x, 1) = 1)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)

2.2异或的方法

x和1异或,奇数得到x-1,偶数是x+1

还是换如果

.版本 2

.如果 (位异或 (x, 1) = x - 1)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)

2.3位或的方法

x和1位或,奇数是原来的值,偶数是x+1

对应的判断代码就是:

.版本 2

.如果 (位或 (x, 1) = x)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)

2.4左右移

利用右移吞掉尾部数字,左移时拿0补位(以上均为二进制值),可以写出:

.版本 2

.如果 (左移 (右移 (x, 1), 1) = x - 1)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)

3.查找法

x除二,查找是否存在小数点

.版本 2

.如果 (倒找文本 (到文本 (x ÷ 2), “.”, , 假) = 2)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)

4.记录法

4.1轮换记录法

使用一个文本型变量,轮流着记录,第一次记“奇数”,第二次记“奇数”

最后,标准输出这个变量即可

.版本 2

.子程序 判断奇偶性, , 公开
.局部变量 x, 双精度小数型
.局部变量 奇偶性, 文本型

x = 到数值 (标准输入 ())
.如果真 (取整 (x) ≠ x)
    标准输出 (, “小数” + #换行符)
    判断奇偶性 ()
.如果真结束
奇偶性 = “偶数”
.计次循环首 (x, )
    .如果 (奇偶性 = “奇数”)
        奇偶性 = “偶数”
    .否则
        奇偶性 = “奇数”
    .如果结束

.计次循环尾 ()
标准输出 (, 奇偶性 + #换行符)
判断奇偶性 ()

4.2数组比较法

建立整数型变量n,拥有两个数组,轮流+1,最后比较两个数组的数值

.版本 2

.子程序 判断奇偶性, , 公开
.局部变量 x, 双精度小数型
.局部变量 n, 整数型, , "2"

' 基于数学方法进行的判断
x = 到数值 (标准输入 ())
.如果真 (取整 (x) ≠ x)
    标准输出 (, “小数” + #换行符)
    判断奇偶性 ()
.如果真结束
n [1] = 0
n [2] = 0
.计次循环首 (x, )
    .如果 (n [1] = n [2])
        n [1] = n [1] + 1
    .否则
        n [2] = n [2] + 1
    .如果结束

.计次循环尾 ()
.如果 (n [1] = n [2])
    标准输出 (, “偶数” + #换行符)
.否则
    标准输出 (, “奇数” + #换行符)
.如果结束
判断奇偶性 ()

4.3枚举法

这种方法通过枚举数字实现,勉强归到记录法内

.版本 2

.子程序 判断奇偶性, , 公开
.局部变量 x, 双精度小数型
.局部变量 n, 整数型

x = 到数值 (标准输入 ())
n = 0
.判断循环首 (n ≠ x 且 n ≠ x + 1)
    n = n + 2
    处理事件 ()
.判断循环尾 ()
.如果 (n = x)
    标准输出 (, “偶数” + #换行符)
.否则
    标准输出 (, “奇数” + #换行符)
.如果结束
判断奇偶性 ()

5.文本分析法

对于任何问题,永远有你意想不到的方法

文本分析法就是一种

5.1取尾数

取出x的尾数,看看是不是1、3、5、7、9中的任意一个,直接就能判断奇偶性啦

.版本 2

.子程序 判断奇偶性, , 公开
.局部变量 x, 双精度小数型
.局部变量 n, 文本型

x = 到数值 (标准输入 ())
.如果真 (取整 (x) ≠ x)
    标准输出 (, “小数” + #换行符)
    判断奇偶性 ()
.如果真结束
n = 取文本右边 (到文本 (x), 1)
.如果 (n = “1” 或 n = “3” 或 n = “5” 或 n = “7” 或 n = “9”)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)
.如果结束
判断奇偶性 ()

是不是很简单~

还有呢,这样写单行代码就有点长了,可以让它缩短一点(看下面)

5.2平方取尾数

.版本 2

.子程序 判断奇偶性, , 公开
.局部变量 x, 双精度小数型
.局部变量 n, 文本型

x = 到数值 (标准输入 ())
.如果真 (取整 (x) ≠ x)
    标准输出 (, “小数” + #换行符)
    判断奇偶性 ()
.如果真结束
n = 取文本右边 (到文本 (x × x), 1)
.如果 (n = “1” 或 n = “5” 或 n = “9”)
    标准输出 (, “奇数” + #换行符)
.否则
    标准输出 (, “偶数” + #换行符)
.如果结束
判断奇偶性 ()

嗯哼~平方完简短多了!

三.写在最后

实际上,这些方法有些是可以活用的

比如,位或的判断方式,我们就可以比较x分别同1和0的位或结果,来判断奇偶性

如果大家想到什么新的方法,欢迎发到评论区

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值