LATEST

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é.

Số chẵn là số tự nhiên chia hết cho 2 và số lẻ là số tự nhiên không chia hết cho 2.

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:

  1. Đầ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.
  2. 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ả:

bai6 02 PNG

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ả:

bai6 01 PNG

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ả:

bai6 03 PNG

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 !!!

Cùng chuyên mục:

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán tính lũy thừa trong C / C++

Thuật toán tính lũy thừa trong C / C++

Thuật toán tìm ước chung lớn nhất trong C / C++

Thuật toán tìm ước chung lớn nhất trong C / C++

Top