1奇偶性
奇数可以被定义成被2整除余1的整数。于是想到用语言实现用求模取余即可:i%2==1,但是这样会不会有什么问题呢?看下面的例子:
public class IsOdd {
public static boolean isOdd(int i){
return i%2 == 1;
}
public static void main(String[] args){
System.out.println(isOdd(5));
System.out.println(isOdd(-5));
}
}
我们知道5和-5都是奇数,上面的结果会不会都是真呢,运行一下发现isOdd(5)的结果是true而isOdd(-5)的结果为false.大家想想也能明白-5%2的结果是-1,所以当一个整数是负数时永远不会得到正确的结论。
2正确判断整数的奇偶性
那么怎样判断整数的奇偶性才是正确的呢?先了解java中取余(%)操作符的定义,该操作符被定义为对于所有的int数值和所有非零的int数值b 都满足下面的恒等式:
(a/b)*b+a%b =a
这也是我们小学学习的商乘以除数加余数等与被除数,但是当与java的截尾整数整除操作符结合时,它就意味着,当取余操作返回一个非零的结果时,它与左操作符具有相同的正负号,即i为负整数事i%2返回的是-1而不是1。
到这里就可以对上面的奇偶判断函数进行改进了,代码如下:
public static boolean isOdd(int i){
return i%2 !=0;
}
如果在性能临界的环境中使用用位操作符AND(&)将会更好。
public static boolean isOdd(int i){
return (i&1)!=0;
}
因此无论何时使用%操作符是应考虑操作数和结果的符号。(本文是本人学习《java解惑的学习笔记》想了解的可以参照)
分享到:
相关推荐
# 给你一个正整数列表 L, 判断列表内所有数字乘积的最后一个非零数字的奇偶性。如果为奇数输出1,偶数则输出0。 # 输入示例 # 输入:L=[2,8,3,50] # 输出示例 # 输出:0 # 解析 # 在上题的基础上的改造题, 这里直接...
从键盘任意输入一个整数,编程判断它的奇偶性。要求输入变量定义为int类型且由用户从键盘输入。
如果一个函数的图象关于原点对称,那么这个函 数是奇函数。 如果一个函数的图象关于y轴对称, 那么这个函 数是偶函数。
一种判断奇偶整数Matlab程序实例,已在Matlab验证可行,适合Matlab初学者,分享共同学习。
python 判断输入数字的奇偶性 里面代码涉及 与用户交互,正则表达式判断以及简单的图形绘制 欢迎下载
可以准确的将一条数据进行筛选,筛选出数字,以及是否为偶数奇数,并将其归类
使用场合:任意数字与1做按位与操作,可以判断奇偶性,结果为1,则为奇数,否则为偶数 0 :0 1 :1 2 :10 3 :11 4 :100 5 :101 5 & 1 101 001 ========== 001 4 & 1 100 001 ==== 000 2、按...
isOdd 确定一个数字是奇数还是偶数。 isOdd 接受一个数字数组,并返回一个相同的逻辑数组size 作为输入,其中真 (1) 是奇数,假 (0) 是偶数。 tf = isOdd(5) tf = 1 tf = isOdd([1 2 3]) tf = 1 0 1 由大卫·考文垂...
在主函数main()中,首先调用初始化函数Init(),然后进入一个循环,每次从标准输入读取一个整数x,并判断其奇偶性。如果x是奇数,则将其压入第一个栈中,即将top加1,并将x赋值给data[top]。如果x是偶数,则将其压入...
四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六、获取当前时间距纪元时间(1970年1月1日)所经过的天数 七、非直接引用变量 八、在循环中使用管道的技巧 九、自链接脚本 十、Here...
(5)编写一个程序实现如下功能:从键盘输入字符(最多为80个),遇到回车键输入结束,将输入的字符串按奇偶位置拆分,奇数位上的字符在前,偶数位上的字符在后,重新组成新的字符串输出,例如输入: ab12cd3456fg,...
0165 判断字符是否可以转换成整数 108 0166 判断字符中是否有汉字 108 0167 判断字符中是否有双字节 109 0168 判数输入的字符串是否为整数 109 5.4 字符串的个数问题 110 0169 获取文字中英文单词的个数...
py代码-输入一个包含若干自然数的列表,输出这些自然数降序排列后的新列表。例如输入[9,7,8,3,2,1,55,6],输出[55, 9, 8, 7, 6, 3, 2, 1]。
5.2.2 将表示奇偶性的位元添加到7位量中 89 5.2.3 应用 90 5.3 前导0计数 90 5.3.1 浮点数算法 94 5.3.2 比较两个字组前导0的个数 96 5.3.3 与对数函数的关系 96 5.3.4 应用 97 5.4 后缀0计数 97 5.5 习题 ...
0165 判断字符是否可以转换成整数 108 0166 判断字符中是否有汉字 108 0167 判断字符中是否有双字节 109 0168 判数输入的字符串是否为整数 109 5.4 字符串的个数问题 110 0169 获取文字中英文单词的个数...
拼接相临的奇偶行文本内容.cmd 提取两个文件内容的不同之处.cmd 文本内容互换.bat 显示只有指定个数字符的行.cmd 显示某两个字符及其之间的字符.cmd 显示随机的5个数.cmd 查找偶数行内容.cmd 查找行中第一个数字串....