Thuật toán kiểm tra số chẵn lẻ trong C / C++
Trong bài viết này, codehow sẽ giới thiệu các bạn thuật toán kiểm tra số chẵn lẻ trong C / C++. Đây là một thuật toán căn bản giúp các bạn làm quen với việc lập trình, nên hãy luyện tập nó thật nhiều nếu các bạn mới bắt đầu nhé.
Đầu tiên chúng ta cần hiểu rõ như thế nào là số chẵn và số lẻ đã nhé.
Ví dụ: Ta có các số chẵn là {2, 4, 6, 8, ...} và các số lẻ là {1, 3, 5, 7,...}
Bây giờ làm thế nào để viết thuật toán kiểm tra số chẵn lẻ trong C / C++ thì các bạn hãy bắt đầu cùng mình thôi nhé.
Thuật toán kiểm tra số chẵn lẻ trong C / C++
Dưới đây là thuật toán kiểm tra số chẵn lẻ trong C / C++, các bạn hãy xem nó trước rồi mình giải thích ngay bên dưới nhé.
if (n % 2 == 0){ return true; } else { return false; }
Giải thích thuật toán:
- Đầu tiên ta kiểm tra điều kiện nếu n % 2 == 0, nghĩa là n chia hết cho 2 thì kết luận đây là số chẵn.
- Ngược lại nếu n không chia hết cho hai thì đây là số lẻ.
Bây giờ mình sẽ thực hiện một chương trình kiểm tra số chẵn và số lẻ cho các bạn hình dung ra cách làm của nó nhé.
Ví dụ 1: Chương trình kiểm tra số chẵn lẻ bởi một số do người dùng nhập vào.
Chương trình C:
#include <stdio.h> int main(void) { int a; printf("Nhập vào số cần kiểm tra: "); scanf("%d", &a); if(a % 2 == 0) printf("%d là số chẵn.",a); else printf("%d là số lẻ.",a); printf("\n-------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); }
Kết quả:
Chương trình C++:
#include <cmath> #include <iostream> using namespace std; int main() { int a; cout<<"Nhập vào số cần kiểm tra: "; cin>> a; if(a % 2 == 0) cout<<a<<" là số chẵn."; else cout<<a<<" là số lẻ."; cout<<"\n-------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; }
Kết quả:
Ví dụ 2: Chương trình in các số chẵn lẻ trong mảng các phần tử được nhập bởi người dùng.
Chương trình C:
#include<stdio.h> #include<math.h> #include<stdbool.h> //tạo hàm kiểm tra số chãn lẻ với 1 tham số được truyền vào bool KTraChanLe(int n){ //nếu n chia hết cho 2 thì đây là số chẵn if(n % 2 == 0){ return true; } //ngược lại thì đây là số lẻ else return false; } void inSoChanLe(int a[], int n) { // ta sử dụng vòng lặp for để duyệt từng phần tử trong mảng // cứ mỗi vòng lặp ta gọi hàm KTraChanLe() để kiểm tra phần tử đó printf("\nCác số chẵn trong mảng là: "); for(int i = 0; i < n; i++) { if((KTraChanLe(a[i]) == true)) { printf("%d ", a[i]); } } printf("\nCác số lẻ trong mảng là: "); for(int i = 0; i < n; i++) { if((KTraChanLe(a[i]) == false)) { printf("%d ", a[i]); } } } int main() { //khai báo biến i sử dụng cho vòng lặp for //biến count là số lượng phần tử trong mảng int i, count; //yêu cầu người dùng nhập vào số lượng cho phần tử printf("Nhập số lương phần tử trong mảng:"); scanf("%d", &count); //gán số lượng người dùng vào kích thước của mảng int number[count]; //yêu cầu người dùng nhập vào giá trị cho từng phần t ử của mảng printf("\nNhập giá trị cho từng phần tử trong mảng:\n"); for (i = 0; i < count; ++i) scanf("%d", &number[i]); //Gọi hàm inSoChanLe() để in các số chẵn lẻ trong mảng ra màn hình inSoChanLe(number, count); printf("\n-----------------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); }
Chương trình C++:
#include <iostream> #include <math.h> using namespace std; //tạo hàm kiểm tra số chãn lẻ với 1 tham số được truyền vào bool KTraChanLe(int n){ //nếu n chia hết cho 2 thì đây là số chẵn if(n % 2 == 0){ return true; } //ngược lại thì đây là số lẻ else return false; } void inSoChanLe(int a[], int n) { // ta sử dụng vòng lặp for để duyệt từng phần tử trong mảng // cứ mỗi vòng lặp ta gọi hàm KTraChanLe() để kiểm tra phần tử đó cout<<"\nCác số chẵn trong mảng là: "; for(int i = 0; i < n; i++) { if((KTraChanLe(a[i]) == true)) { cout<<a[i]<<" "; } } cout<<"\nCác số lẻ trong mảng là: "; for(int i = 0; i < n; i++) { if((KTraChanLe(a[i]) == false)) { cout<<a[i]<<" "; } } } int main() { //khai báo biến i sử dụng cho vòng lặp for //biến count là số lượng phần tử trong mảng int i, count; //yêu cầu người dùng nhập vào số lượng cho phần tử cout << "Nhập số lương phần tử trong mảng:"; cin >> count; //gán số lượng người dùng vào kích thước của mảng int number[count]; //yêu cầu người dùng nhập vào giá trị cho từng phần t ử của mảng cout << "\nNhập giá trị cho từng phần tử trong mảng:\n"; for (i = 0; i < count; ++i) cin >> number[i]; //Gọi hàm inSoChanLe() để in các số chẵn lẻ trong mảng ra màn hình inSoChanLe(number, count); cout << "\n-----------------------------------\n"; cout << "Chương trình này được đăng tại codehow.net"; }
Kết quả:
Như vậy là chúng ta đã cùng nhau tìm hiểu về thuật toán kiểm tra số chẵn lẻ trong C / C++. Các bạn hãy luyện tập thật nhiều các bài toán đơn giản thì khi đó mới có đủ kiến thức để thực hiện các bài toán phứ tạp. Chúc các bạn thành công !!!