8行代码快速判断奇偶

一、总体思路(以八位二进制码为例)

(1)奇偶数二进制码的特性

奇数:二进制码最后一位为1

偶数:二进制码最后一位为0

(2)&运算特性(二进制码及位运算的讲解可见此处

有0为0

全1为1

(3)1的二进制码特性

1的二进制码0000 0001

因此,我们可以将一个数a与1进行与运算,前七位运算结果为0,而对于最后一位,a为奇数时为1,a为偶数时为0,故a&1的结果为:

1,a为奇数;

0,a为偶数;

因此可将a&1的结果作为判断条件

补充:

(1)三目运算符:基本格式:

三目运算符适合

if(xxx)     //xxx代表条件
{
    yyy;    //yyy代表操作1
}
else
{
    zzz;    //zzz代表操作2
}

结构的简化

即编写代码时可以将xxx放到?前,yyy放到?后:前,最后将zzz放到:后

即:

xxx?yyy:zzz;
//xxx代表条件
//yyy代表操作1
//zzz代表操作2

实例:

#include<iostream>
using namespace std;

//程序功能:输出a、b中较大的数
int main()
{
    int a,b,c;
    cin>>a>>b;
    if(a>b) c=a;
    else c=b;
    cout<<c<<endl;
    return 0;
}

等同于:

#include<iostream>
using namespace std;

//程序功能:输出a、b中较大的数
int main()
{
    int a,b,c;
    cin>>a>>b;
    c=a>b?a:b;    //翻译:a>b满足吗?满足则该式子结果为a,不满足则该式子结果为b
    cout<<c<<endl;
    cout<<(a>b?a:b)<<endl;           //写法2
    a>b?cout<<a<<endl:cout<<b<<endl; //写法3
    return 0;
}

二、代码实现

#include <iostream>
using namespace std;
int main() {
	int a;
	cin >> a;
	cout << (a & 1 ? "该数为奇数" : "该数为偶数");            //写法一
    a&1?cout<<"该数为奇数"<<endl:cout<<"该数为偶数"<<endl;    //写法二
	return 0;
}

总计八行代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值