一、数学定义:在数学中,定义凡是可以被2整除的,均为偶数。 反之则为奇数。二、算法分析:根据数学定义,以及一些C语言的知识,可以得到很多种判断一个整数的奇偶性的方法,举例如下:1、 最常用最直观的方法。对2取余,如果为0,表示整除,即为偶数。否则为奇数。即 n%2==0 则为偶数。 n%2==1 则为奇数。由于C语言规定逻辑运算中0为假,1为真,于是判断奇偶可以简化为
if(n%2) printf("n为奇数\n");
else printf("n为偶数\n");2、效率最高的方法。
计算机中都是二进制存储,这样判断奇偶其实判断二进制的最后一位即可。所以可以用更高效的位操作来判断:if(n1) printf("n为奇数\n");
else printf("n为偶数\n");3、其它方法:
根据各种数学推论,以及C语言操作,还有很多其它方法,不过都不常用,仅做了解,举几个例子如下:n/2*2==n //利用整数除法取整的规则,如果相等,则为偶数。((n>>1)<<1)==n //右移后再左移,如果与原值相等,则为偶数。(n+1)/2 == n/2 //同样利用整数除法取整,相等则为偶数。类似的还可以写出很多,不过意义并不大,因为不常用,且不高效,实际使用只会增加运行开销和维护难度。