1. Bài tập tính tích các ước số chẵn của số nguyên dương N

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 dương N và yêu cầu của bài toán là tính tích các ước số chẵn của N.

2. Lời giải

Để giải được bài tập tính tích các ước số chẵn của số nguyên dương N  bạn phải có kiến thức về toán học cơ bản về ước số, 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, khai báo biến int tich=1 được dùng để tính tich ước số của N

Bước 2: 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 và i có phải là số chẵn hay không, nếu có biến tich sẽ tăng lên i lần

Bước 4: In biến tich ra màn hình

Chương trình giải bài tập tính tích các ước số chẵn của số nguyên dương N như sau:

#include<stdio.h>
int main()
{
    //khai bao bien N
    int N;
    //khai bao tich
    int tich=1;
    do
    {    // nhap du lieu gan vao bien N
        printf("\nNhap N = ");
        scanf("%d", &N);
        if(N <= 0)//neu N<=0 se hien thi cau lenh
        {
            printf("\n N phai > 0. Xin nhap lai !");
        }
    }while(N <= 0);//dieu kiên N > 0 neu N<=0 yeu cau nhap lai
    
    
    //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 && i%2==0)//kiem tra uoc chan cua N
        {
            tich*=i;//tinh tich cac uoc so chan cua N
        }
    }
    printf("Tich cac uoc chan cua %d la: %d",N,tich);
}

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

Kết quả:

Nhap N = 10
Tich cac uoc chan cua 10 la: 20

3. Tổng kết

Để thực hiện giải bài tập tính tích các ước số chan của số nguyên dương N bạn đọc cần phải có kiến thức cơ bản về 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 tich
    int tich=1;
    do
    {    // nhap du lieu gan vao bien N
        printf("\nNhap N = ");
        scanf("%d", &N);
        if(N <= 0)//neu N<=0 se hien thi cau lenh
        {
            printf("\n N phai > 0. Xin nhap lai !");
        }
    }while(N <= 0);//dieu kiên N > 0 neu N<=0 yeu cau nhap lai
    
    int i=1;//i bat dau tu 1
    while(i<=N)//dieu kien dung khi i<=N
    {
        if(N%i==0 && i%2==0)//kiem tra uoc chan cua N 
        {
            tich*=i;// tinh tich cac uoc so chan cua N
        }
        i++; //moi lan lap i tang 1
    }
    printf("Tich cac uoc chan cua %d la: %d",N,tich);
}

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

Kết quả:

Nhap N = 12
Tich cac uoc chan cua 12 la: 576