1. Bài tập kiểm tra N có phải là số nguyên tố hay không

Bài tập cơ bản này ta có thể có nhiều hướng giải quyết khác nhau, như sử dụng vòng lặp for , sử dụng vòng lặp while, …

Đầu vào sẽ là một biến nguyên N và yêu cầu của bài toán là Kiểm tra N có phải là số nguyên tố hay không.

2. Lời giải

Đầu tiên chúng ta cần phải tìm hiểu số nguyên tố là gì?

Số nguyên tố là số tự nhiên lớn hơn 1 không phải là tích của hai số tự nhiên nhỏ hơn nó. Nói cách khác, số nguyên tố là những số chỉ có đúng hai ước số là 1 và chính nó.

Ví dụ như 7 có ước số là 1 và 7, suy ra 7 là số nguyên tố.

Để giải được bài tập kiểm tra N có phải số nguyên tố hay không bạn phải có kiến thức về toán học cơ bản, có kiến thức về lập trình C cơ bản và cách sử dụng vòng lặp.

Các bước thực hiện bài toán như sau:

Bước 1: Ta khai báo biến N để gán giá trị của N, biến int dem=0 để tính số lượng ước số của N.

Bước 2: Dùng if để kiểm tra nếu N<2 thì N không phải só nguyên tố.

Bước 3: Ngược lại sử dụng hàm for để bắt đầu duyệt từ 1 đến N, mỗi lần i sẽ tăng lên 1.

Bước 3: Sử dụng câu điều kiện if trong vòng for để kiểm tra từ phần tử N có chia hết cho phần tử i không. Nếu có ta tăng biến dem lên 1.

Bước 4: Ta dùng điều kiện if với điều kiện N=2 thì in ra màn hình N là số nguyên tố còn ngược lại N không phải là số nguyên tố.

Chương trình giải bài tập kiểm tra N có phải là số nguyên tố hay không như sau:

#include<stdio.h>
int main()
{
    //khai bao bien N
    int N;
    //khai bao bien dem
    int dem=0;
    printf("\nNhap N: ");
    scanf("%d", &N);
    if(N < 2)//neu N < 2 thì N khong phai so nguyen to
        printf("\nSo %d khong phai la so nguyen to", N);
    else
    {
    	//vong lap for bat dau tu i = 1 và ket thuc khi i = N, moi lan lap i tang len 1
        for(int i = 1; i <= N; i++)
        {
            if(N % i == 0)//kiem tra uoc cua N 
            {
            	dem+=1;//dem so luong uoc cua N
            }
        }
        if(dem == 2)//neu N có 2 uoc thì N la so nguyen to
        {
            printf("\nSo %d la so nguyen to", N);
        }else{//nguoc lai N khong phai so nguyen to
            printf("\nSo %d khong phai la so nguyen to", N);
        }     
    }
}

Ví dụ tôi nhập N=13

Kết quả:

Nhap N: 13

So 13 la so nguyen to

3. Tổng kết

Để thực hiện giải bài tập kiểm tra N có phải là số nguyên tố hay không bạn đọc cần phải biết về số nguyên tố là gì?, có kiến thức cơ bản ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản, các cách sử dụng vòng lặp trong C và các phép toán học cơ bản .

Bài tập trên có thể giải bằng các khác là sử dụng vòng lặp while.

Chương trình như sau:

#include<stdio.h>
int main()
{
    //khai bao bien N
    int N;
    //khai bao bien dem
    int dem=0;
    printf("\nNhap N: ");
    scanf("%d", &N);
    if(N < 2)//neu N < 2 thì N khong phai so nguyen to
        printf("\nSo %d khong phai la so nguyen to", N);
    else
    {
    	int i=1;//i bat dau tu 1
        while(i<=N)//dieu kien dung khi i<=N
        {
            if(N%i==0)//kiem tra uoc cua N 
            {
                dem+=1;//dem so luong uoc cua N
            }
            i++; //moi lan lap i tang 1
        }
        if(dem == 2)//neu N có 2 uoc thì N la so nguyen to
        {
            printf("\nSo %d la so nguyen to",N);
        }else{//nguoc lai N khong phai so nguyen to
            printf("\nSo %d khong phai la so nguyen to",N);
        }     
    }
}

Ví dụ tôi nhập N=20

Kết quả:

Nhap N: 20

So 20 khong phai la so nguyen to