EnglishFrenchGermanItalianJapanesePortugueseRussianSpanishVietnamese
C/C++

Chương trình C tìm và in các số nguyên tố giữa nằm giữa hai số nguyên cho trước

Hôm nay mình sẽ viết một ví dụ đơn giản để thực hiện tìm các số nguyên tố nằm giữa hai số nguyên được cho trước (Nhập từ bàn phím).

số nguyên tố

Để hiểu rõ về ví dụ, bạn nên nắm được một số kiến thức cơ bản trong lập trình C (Tham khảo bài viết: http://dantinhoc.com/hoc-lap-trinh-c-voi-bo-video-tu-dan-tin-hoc-blog.html/)

Để tìm được tất cả các số nguyên tố nằm giữa hai số nguyên, ở đây mình viết hàm checkPrimeNumber() dùng để kiểm tra xem số đó có phải là số nguyên tố hay không và dùng một vòng lặp chạy qua tất cả các số nằm giữa hai số vừa nhập vào để kiểm tra từng số một. Nếu là số nguyên tố thì in số đó ra màn hình.

Ví Dụ: Tìm các số nguyên tố giữa hai số nguyên cho trước:

#include <stdio.h>

int checkPrimeNumber(int n); // Khai báo prototype
int main() {
    int n1, n2, i, flag;
    int temp;

    printf("Nhập số nguyên n1: ");
    scanf("%d", &n1);
    printf("Nhập số nguyên n2: ");
    scanf("%d", &n2);
    printf("Các số nguyên tố nằm giữa %d và %d là: ", n1, n2);

    // Hoán đổi vị trí nếu n2 > n1
    if (n1 > n2) {
        temp = n1;
        n1 = n2;
        n2 = temp;
    }

    for (i = n1 + 1; i < n2; ++i) {
        // Nếu i là số nguyên tố thì flag sẽ bằng 1
        flag = checkPrimeNumber(i);

        if (flag == 1)
            printf("%d ", i);
    }

    return 0;
}

// Định nghĩa hàm checkPrimeNumber()
int checkPrimeNumber(int n) {
    int j, flag = 1;

    for (j = 2; j <= n / 2; ++j) {
        if (n % j == 0) {
            flag = 0;
            break;
        }
    }
    return flag;
}

Kết quả:

Nhập số nguyên n1: 10

Nhập số nguyên n2: 20

Các số nguyên tố nằm giữa 10 và 20 là: 11 13 17 19

 

Trên đây là ví dụ đơn giản bằng chương trình C dùng để kiểm tra và in ra màn hình các so nguyên tố nằm giữa hai số nguyên cho trước.

Cám ơn các bạn đã ủng hộ Dân Tin Học.

 

 

 

Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

To Top
Close