奇妙的算法(1)—— 判断奇偶

你会怎样判断一个数是奇数还是偶数呢?

是用MOD(%)吗?

用这个运算符当然没错,任何一门语言都是这么教的。

但你有没有想过,如果没有这个运算符呢?你会怎么判断奇偶数?

 

(请先思考……)

 

下面分享一下我看到过的一个算法。

 

        首先,想一下奇偶数的定义“一个能被2整除的数称为偶数,否则为奇数”。所以不可避免要用到除法(/)。

        其次,在编程语言里,整数的除法只会得到整数。例如,6/3=2,这是正常的。而5/2=2,这也是正确的。

 

看到这个你有没有一点思路呢?

(想想看……)

 

某个数(X),先除以(/)2,然后再乘以(*)2,如果结果等于X,就说明是偶数,否则为奇数。

即:(X/2)*2 == X,X为偶数

    (X/2)*2 != X,X为奇数

 

下面用Python做个简单验证:

    

 

当然,这样的写法,在你做项目时也许不会用。我只是想分享下这个算法的思路。

 

忽然觉得,算法很神奇。

数学也很神奇!

 

 

posted on 2013-08-29 21:15  Memory4Young  阅读(1174)  评论(0编辑  收藏  举报

导航