Kiểm tra số chẵn lẻ trong lập trình C/C++

Kiểm tra số chán lẻ trong lập trình C

Kiểm tra số chẵn lẻ là một bài tập rất cơ bản mà hầu hết tất cả mọi người khi bắt đầu học lập trình đều sẽ làm qua. Vậy trong bài viết này blog tuicocach.com sẽ cùng các bạn một lần nữa giải quyết bài toán này với Lập trình C/C++ qua 2 cách làm.

Kiểm tra số chẵn lẻ trong lập trình C/C++

Kiểm tra chẵn lẻ bằng cách chia dư cho 2

Để kiểm tra được số chẵn hay lẻ trong lập trình C rất đơn giản, chúng ta sẽ lấy số đó chia dư cho 2 nếu như số dư là 1 thì tức là số đó là số lẻ, ngược lại nếu số đó chia hết cho 2(dư 0) thì số đó sẽ là số chẵn. Cụ thể code C như sau.

#include <stdio.h>
int main()
{
	int n; //Khai báo n
	scanf("%d", &n); //Nhập n từ bàn phím
	if(n % 2 == 0)//Kiểm tra nếu chia hết cho 2 thì n là số chắn
{
		printf("%d la so chan",n);
	}else{//Ngược lại thì là số lẻ
		printf("%d la so le",n);	
	}
}

Hoặc chúng ta có thể viết hàm check số chẵn lẻ thành một hàm riêng.

#include <stdio.h>
bool check(int n)
{
	if(n % 2 == 0)
		return 1;
	else return 0;	
}

bool check2(int n){
   return n%2==0?1:0;
}

int main()
{
	int n; 
	scanf("%d", &n);
	if(check(n)){
		printf("%d la so chan",n);
	}else{
		printf("%d la so le",n);	
	}
}

2 hàm check check2 là như nhau, kết quả như nhau nhưng theo 2 cách viết khác nhau, với hàm check2 sẽ ngắn gọn hơn, điều kiện ? x:y trả về x nếu điều kiện đúng, và y nếu điều kiện sai.

Kiếm tiền Accesstrade, kiếm tiền tại nhà với Accesstrade.vn – Tiếp thị liên kết
MegaURL – Rút gọn link kiếm tiền có giá cao tại Việt Nam
Top 4 App kiếm tiền online trên điện thoại tốt nhất 2022

Kiểm tra chẵn lẻ bằng thao tác trên nhị phân(Bit)

Ngoài sử dụng cách chia dư cho 2 để kiểm tra số chẵn lẻ chúng còn 1 cách nữa là sử dụng phép AND trong thao tác bit, ký hiệu là &.

Bảng chân trị phép AND

ABA&B
000
010
100
111

Phép AND chỉ có giá trị 1 nếu cả hai toán hạng đều có giá trị 1, các trường hợp khác đều là 0.

Ví dụ:

A = 5 đổi qua nhị phân là: 101

B = 7: 101

A & B = 100(Thập phân = 4)

Áp dụng phép toán này, chúng ta kiểm tra số chẵn lẻ bằng cách thao tác AND với 1. Như vậy với bất kì số nào mà có bit cuối cùng AND với 1 được kết quả là 1 thì tức đó là số lẻ, ngược lại nếu bit cuối cùng của số đó AND với 1 mà ra 0 thì số đó là chẵn.

A = 53 = 11 0101

B = 52 = 11 0100

C = 000001 = 1

A&B = 000001 => A số lẻ

B&C = 000000 => B số chẵn

Trong code C sử dụng toán tử & là phép AND, ta code như sau.

CODE MẪU

#include <stdio.h>
int main()
{
	int n; //Khai báo n
	scanf("%d", &n); //Nhập n từ bàn phím
	if(n&1)//Tương đương n&1 != 0
{
		printf("%d la so le",n);
	}else{//Ngược lại thì là số lẻ
		printf("%d la so chan",n);	
	}
}

[Xem tất cả bài viết chủ đề C/C++ tại đây]

XÊM THÊM
Cách tìm UCLN và BCNN
Thuật toán đếm số lượng chữ số của số nguyên dương n
Thuật toán tính dãy số Fibonacci
Bài toán chuẩn hóa xâu ký tự