关闭

使用移位操作符实现奇偶数的判断,C和Java版1

1639人阅读 评论(0) 收藏 举报
分类:

C语言版:

#include <stdio.h>


int fun_isodd(int x){


while(x!=-1){
if(((x>>1)<<1) == x){
return 0;   //是偶数
}
return 1;       //是奇数
}
return 1;       //是奇数
}


void main(){
int m;
printf("请输入一个整数:");
scanf("%d",&m);


int n = fun_isodd(m);
if(n == 1){
printf("%d:是奇数",m);
}else{
printf("%d: 是偶数",m);
}
}

Java中int型范围 -2147483648 到2147483647( 32位的带符号的,无符号的是0-2*2147483648)
Java版:


import java.util.*;


public class IsOdd
{
public static void main(String args[]){
Scanner s = new Scanner(System.in);//从键盘上输入


int m = s.nextInt();//读取一个整数

long time1 = System.currentTimeMillis();
if(oddEvenDiv(m) == 0)
System.out.println(m + ": 是偶数");
else
System.out.println(m + ": 是奇数");
long time2 = System.currentTimeMillis();


System.out.println(time1);
System.out.println(time2);
}


public static int oddEvenMove(int x){ //判断奇数偶数的函数
if(((x>>1)<<1)==x)  //使用移位,如果一个数右移一位,再左移一位(左移时最后一位补0),和原来的数相等,则为偶数
return 0;
else
return 1;
}


public static int oddEvenDiv(int x){//判断奇数偶数的函数
if(x%2 == 0)  //使用普通方法,对整数2取余
return 0;
else 
return 1;
}
}

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:354525次
    • 积分:4226
    • 等级:
    • 排名:第7168名
    • 原创:131篇
    • 转载:24篇
    • 译文:5篇
    • 评论:59条
    最新评论