Giải quyết các bài toán lập trình cơ bản với vòng lặp trong JavaScript

06 tháng 4, 2026·5 phút đọc

Bài viết này tổng hợp các ví dụ lập trình kinh điển trong JavaScript như kiểm tra số nguyên tố, đảo ngược số và tính tổng chữ số. Những thuật toán này là nền tảng quan trọng giúp người học nắm vững cách sử dụng vòng lặp và các phép toán cơ bản.

Giải quyết các bài toán lập trình cơ bản với vòng lặp trong JavaScript

Vòng lặp (loop) là một trong những khái niệm cốt lõi trong lập trình, cho phép thực thi một khối lệnh nhiều lần mà không cần viết lại code. Trong bài viết này, chúng ta sẽ cùng khám phá cách áp dụng vòng lặp trong JavaScript để giải quyết các bài toán toán học và logic phổ biến.

1. Kiểm tra số nguyên tố (Prime Number)

Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó. Chúng ta có thể sử dụng vòng lặp for để kiểm tra tính chất này.

i) Kiểm tra một số có phải là số nguyên tố hay không

Logic ở đây là duyệt từ 2 đến số cần kiểm tra trừ 1. Nếu tìm thấy bất kỳ số nào chia hết, ta kết luận đó không phải số nguyên tố.

let num = 7;
let isPrime = true;

for (let i = 2; i < num; i++) {
    if (num % i === 0) {
        isPrime = false;
        break; // Thoát vòng lặp nếu tìm thấy ước số
    }
}

if (num > 1 && isPrime) {
    console.log("Prime"); // Là số nguyên tố
} else {
    console.log("Not Prime"); // Không phải số nguyên tố
}

Kết quả:

Prime

ii) In ra tất cả các số nguyên tố từ 2 đến 50

Để tìm danh sách các số nguyên tố trong một khoảng, ta lồng thêm một vòng lặp bên ngoài để duyệt qua từng số.

for (let num = 2; num <= 50; num++) {
    let isPrime = true;

    for (let i = 2; i < num; i++) {
        if (num % i === 0) {
            isPrime = false;
            break;
        }
    }

    if (isPrime) {
        console.log(num);
    }
}

Kết quả:

2
3
5
7
11
13
17
19
23
29
31
37
41
43
47

2. Đảo ngược một số (Reverse Number)

Để đảo ngược các chữ số của một số nguyên, ta sử dụng vòng lặp while kết hợp với phép chia lấy dư (%) và chia nguyên (Math.floor).

let num = 1234;
let reverse = 0;

while(num > 0) {
    let digit = num % 10; // Lấy chữ số cuối cùng
    reverse = reverse * 10 + digit; // Gắn chữ số đó vào kết quả
    num = Math.floor(num / 10); // Bỏ chữ số cuối cùng
}
document.write("Reverse: " + reverse);

Kết quả:

Reverse: 4321

3. Đếm số lượng chữ số (Count of Digits)

Tương tự như thuật toán đảo ngược, thay vì xây dựng lại số mới, ta chỉ cần tăng biến đếm lên mỗi lần lấy ra một chữ số.

let num = 1234;
let count = 0;

while(num > 0) {
    let digit = num % 10;
    num = Math.floor(num / 10);
    count++;
}
document.write("Count of digits: " + count);

Kết quả:

Count of digits: 4

4. Tổng các chữ số (Sum of Digits)

Bài toán này yêu cầu cộng tất cả các chữ số lại với nhau. Cấu trúc vòng lặp vẫn giữ nguyên, chỉ thay đổi cách xử lý biến sum.

let num = 123;
let sum = 0;

while (num > 0) {
    let digit = num % 10;
    sum += digit; // Cộng dồn chữ số vào tổng
    num = Math.floor(num / 10);
}

console.log("Sum:", sum);

Kết quả:

6

5. Số đối xứng (Palindrome)

Số đối xứng là số đọc từ trái sang phải hay từ phải sang trái đều cho kết quả giống nhau (ví dụ: 121, 1331). Ta sẽ đảo ngược số và so sánh với bản gốc.

let num = 121;
let temp = num; // Lưu lại giá trị gốc để so sánh sau này
let reverse = 0;

while (num > 0) {
    let digit = num % 10;
    reverse = reverse * 10 + digit;
    num = Math.floor(num / 10);
}

if (temp === reverse) {
    console.log("Palindrome");
} else {
    console.log("Not Palindrome");
}

Kết quả:

Palindrome

6. Hoán đổi giá trị của hai số (Swapping)

Hoán đổi giá trị là một bài toán cơ bản giúp hiểu rõ về cách gán giá trị biến.

Cách 1: Sử dụng biến tạm (third variable)

Đây là cách phổ biến và an toàn nhất.

let a = 5;
let b = 10;

let temp = a;  // Lưu giá trị của a
a = b;         // Gán giá trị của b cho a
b = temp;      // Gán giá trị cũ của a (đang ở temp) cho b

console.log("a =", a);
console.log("b =", b);

Kết quả:

a = 10
b = 5

Cách 2: Không sử dụng biến thứ ba

Cách này sử dụng phép cộng và trừ để thực hiện hoán đổi, tiết kiệm bộ nhớ nhưng cần cẩn thận với tràn số.

let a = 5;
let b = 10;

a = a + b; // a trở thành 15
b = a - b; // b trở thành 5 (15 - 10)
a = a - b; // a trở thành 10 (15 - 5)

console.log("a =", a);
console.log("b =", b);

Kết quả:

a = 10
b = 5

Trên đây là các ví dụ minh họa điển hình giúp bạn làm quen với tư duy thuật toán và thao tác với vòng lặp trong JavaScript.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗