判断奇数偶数 //判断奇数偶数 #include int main() { int number; printf("请输入一个整数: "); scanf("%d",...&number); // 判断这个数除以 2 的余数 if(number % 2 == 0) printf("%d 是偶数。"..., number); else printf("%d 是奇数。", number); return 0; }
我们需要用到java中的&运算符 &符号 对两个数的二进制形式进行按位与, 位数中有0结果为零; 例子: 15&3=?...例: 1111 0011 运算 1111 0011 结果 0011 一个数的二进制形式 末尾是1一定是奇数 比如我们的5: 二进制形式 0101...= 1x2^0 +1x2^2 = 5 1x2^2 一定是偶数 因为都是2的倍数 当我们1x2^1 2的0次方是 是1 是 奇数 偶数加上奇数一定是奇数...末尾是0 一定是偶数 奇偶判断的方法 让这个数和1相与 结果是0就是偶数 结果为1 就是奇数 例如: 4&1=0 4的二进制:100 1的二进制:001 结果 000 /** * 奇数偶数判断...* 把这个数和 1 相 & 结果为 1 是奇数 结果为0 是偶数 * @create: 2021/8/5 * @author: Tony Stark */ public class
文章目录 怎么判断一个数是奇数还是偶数? 判断一个数是奇数还是偶数,我们最容易想到的就是对2取余。 方法一 方法二 方法二的原理是什么呢?...我的学习论坛 怎么判断一个数是奇数还是偶数? 判断一个数是奇数还是偶数,我们最容易想到的就是对2取余。...("Number为偶数"); } else { System.out.println("Number为奇数"); } 输出结果:Number为偶数 方法二 int number = 11...("Number为偶数"); } else { System.out.println("Number为奇数"); } 输出结果:Number为偶数 方法二的原理是什么呢?...在计算机中,数据以补码的二进制存储的。 偶数的最低为一定是0。 奇数的最低为一定是1。 所以如果要判断这个数是奇数还是偶数,只需要用这个数按位与1就可以了。
题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。...思路一: 可以重新开辟一个数组,然后将原有的数组遍历,先把奇数拷贝到新的数组,然后再把偶数拷贝。...如果left和right表示的区间[left, right]有效,进行b,否则结束循环 b. left从前往后找,找到一个偶数后停止 c. right从后往前找,找到一个奇数后停止 d.
&sq) { ElemType t; int i = 0, j = sq.len - 1; while (i<j) { while (sq.data[i] % 2 == 1) i++;//奇数...向后 while (sq.data[j] % 2 == 0) j--;//偶数 向前 if(i<j) //只要两个还没相遇 { t = sq.data[i];//得到的奇数 sq.data...[i] = sq.data[j];//偶数放到奇数位置 sq.data[j] = t;//奇数放到偶数位置 i++;//同步移动到下一个 j--; } } } void main
# 题目 将将一个文本的奇数行和偶数行合并 [root@summer ~]# cat johb.txt 11111111111111 22222222222222 33333333333333 44444444444444...当前行是奇数行时执行line=$0,将整行赋值给line,next跳过其余的命令 [root@summer ~]# awk 'NR%2==1{line=$0;next}{print line,$0}'...awk判断奇偶行并显示 [root@summer ~]# awk '{if(NR%2==0) print $0;else printf $0 " "}' johb.txt 11111111111111
1.引言 偶数奇数是数学当中常见的数,在数列当中是很常见的,一般题目会要求计算前奇数项和,前偶数项和。因为要讨论项数的奇偶性,而比较麻烦。这里我想写一个函数来解决这个问题。...2.问题 写一个函数各求前n奇数项和,前偶数项和。 3.方法 设置一个n来代表示项数,用n%2==0来判断n是不是偶数,可以用if else 语句来完成这个问题。...1/i print(sum) else: for k in range(1,x+1,2): sum2=sum2+1/k print(sum2) f(4) 4.结语 本题探讨了前奇数...,偶数项和问题。...涉及到了if else 语句判断。通过这个问题,我学到了判断奇偶数的方法,在实验的操作当中还是要注意格式的问题,每一步及相应的含义是什么。
题目:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。...= nums[j]; nums[j++] = tmp; } } return nums; } 其中,奇数的判断有两种判断方式...(a&1)==1,还有种方法是通过位运算,也就是判断二进制最后一位,是1就是奇数,这种方法性能会更好点。...头指针找到偶数,尾指针找到奇数,就可以进行交换了。...,加1 while(i < j && (nums[i] & 1) == 1) i++; //nums[j]为偶数,减1 while
=0) printf("该数是奇数"); else printf("该数是偶数"); return 0; } Post Views: 228
/usr/bin/env python #-- coding: utf-8-- for i in range(1,10): if i % 2 == 1: print('%d 是一个奇数.'...%(i)) else: print ('%d 是一个偶数.' %(i) ) 执行脚本 ?
int i = 0, j = sq.len - 1; while (i <= j) { while (sq.data[i] % 2 == 0) i++; //从左向右找到奇数...sq.data [i] while (sq.data[j] % 2 == 1) j--; //从右向左找到偶数sq. data [j] if (i < j)...{ t = sq.data[i];//偶数用t暂代替 sq.data[i] = sq.data[j];//把j放到i位置 sq.data..."%d", &sqA.data[i]); } sqA.len = 10; move(sqA); //调用move完成移动 printf("奇偶排序后顺序表A中的元素为
数据库:1.位运算: 若是 & 1 为1 则为奇数 若为0,则为偶数select 1 & 1 from dual 2.余运算若是 结果为1 则为奇数,若是0 则为偶数select 1 % 2...from dual3.函数运算mod(id,2)=1 则为奇数 0为偶数select * from 表名 where mod(字段,2)=1这里在啰嗦一下:第一种位运算 & 比余运算 % 效率高太多了...,并且在代码中也适用 :代码:判断传入的数是否为奇数: public static boolean isOdd(int param){ return (param & 1) == 1;
从数字数组中筛选出奇数或者偶数的方法,用一个函数就可解决,代码如下: <?...item & 1)); }); } $one_side = pick_one_side(range(1, 100), false); print_r($one_side); 以上就是PHP实现数组筛选奇数和偶数的方法全部内容
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。...tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking 思路:如果没有要求奇数之间...、偶数之间的相对位置的话,可以直接用2个指针变量,左边往右扫到偶数就暂停,右边往左扫到奇数就暂停然后交换,依次往返,结束条件为两个指针变量的相遇。...但是这里有了这个要求,不能这样做了,考虑用空间换时间,如果遇到奇数就用一个数组存起来,遇到偶数再用另一个数组存起来就需要2个额外的数组,再最后合并到一个数组里,这是一个思路(或者2个队列也是同样的思路)...,现在这里优化一下,只申请一个额外的数组,将原来的数组从左往右扫,遇到奇数就存到新数组的左边,同时将原来的数组从右往左扫,遇到偶数就存到新数组的右边,这样就可以保证左边是奇数,右边是偶数,且奇数之间、偶数之间相对位置不变
前言 不能直接除2的就不是偶数,比较简单。 #!/bin/bash dataArr=( 0 1 2 3 4 5 6 7 8 9 10 ) for i in ${!
位运算判断奇偶数 昨天晚上在床上想到一个东西挺好玩的。拿出来分享一下。 以前写判断奇偶数的函数都是用retrun(0 == n%2 ? TRUE : FALSE)这句话写。...后来我想,一个整数的二进制码最后一位,奇数是1,偶数是0。我们把n和1按位与,就能得到1或者0。...TRUE : FALSE); } 如果是奇数则输出TRUE,否则输出FALSE. 效率应该会比n%2高一些吧?
使用同步锁解决这个问题 使用信号量来实现交替打印 定义两个信号量,一个奇数信号量,一个偶数信号量,都初始化为1 先用掉偶数的信号量,因为要让奇数先启动,等奇数打印完再释放 信号量实现 具体实现思路:...定义两个信号量,一个奇数信号量,一个偶数信号量,都初始化为1 先用掉偶数的信号量,因为要让奇数先启动,等奇数打印完再释放 具体流程就是 第一次的时候先减掉偶数的信号量 奇数线程打印完成以后用掉奇数的信号量...//再次申请获取偶数信号量,因为之前已经获取过,如果没有奇数线程去释放,那么就会一直阻塞在这,等待奇数线程释放 semaphoreOdd.acquire(...//这里阻塞,等待偶数线程释放信号量 //再次申请获取奇数信号量,需要等偶数线程执行完然后释放该信号量,不然阻塞...判断是不是奇数 如果是奇数进入奇数线程执行打印并加一。然后线程释放锁资源。然后让该线程等待 判断是不是偶数,如果是偶数进入偶数线程执行打印并加一。然后线程释放锁资源。
package com.test; import java.util.*; import java.io.*; public class Main { ...
题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。...public class Solution { public void reOrderArray(int [] array) { int count = 0;//记录已经摆好位置的奇数的个数
领取专属 10元无门槛券
手把手带您无忧上云