1
Làm thế nào để vẽ sơ đồ khối tìm số hoàn hảo trong lập trình?
1
Nhất - 2520 đã đăng:

thêm bình luận...
2
Văn Luân50 đã đăng:

Trước khi vẽ sơ đồ khối tìm số hoàn hảo, đảm bảo rằng bạn đã hiểu bản chất của số hoàn hảo là gì.

Khái niệm số hoàn hảo là gì?

Kiểm tra một số có phải là số hoàn hảo hay không trong C/C++? (có mô tả bản chất của số hoàn hảo)

Tóm tắt, số hoàn hảo là số mà tổng các ước số thật sự bằng chính nó.

Vậy đầu tiên, sơ đồ khối tìm số hoàn hảo sẽ cần một "khung" thể hiện cho vòng lặp for chạy từ 1 đến n, với n là giới hạn, ví dụ tìm số hoàn hảo trong khoảng từ 1 đến 100.

Tại mỗi vị trí mà vòng lặp for đi qua, chúng ta cần có một "khung" thể hiện điều kiện if để kiểm tra xem số đang xét đó có phải là số hoàn hảo hay không, nếu if đúng thì đó chính là số hoàn hảo, tạo một "khung" để xuất kết quả, rồi quay lại xét tiếp, nếu if sai, bỏ qua.

Sơ đồ khối tìm số hoàn hảo trong lập trình

Nếu bạn hiểu được bản chất của số hoàn hảo, bạn sẽ hiểu được hàm kiểm tra số hoàn hảo ktSoHoanHao(i) hoạt động như thế nào.

Mã nguồn tham khảo cho sơ đồi khối tìm số hoàn hảo trên:

#include <stdio.h>
#include <conio.h>

// Hàm kiểm tra số hoàn hảo
bool ktSoHoanHao(int i) {
    int sum = 0;
    //Chạy vòng lặp từ 1 đến số n đã cho
    for (int j = 1; j < i; j++) {
        // Đối với mỗi số đi qua
        // Kiểm tra xem n có chia hết cho số đó hay không.
        if (i % j == 0)
            sum += j;
    }
    if (sum == i) return true;
    return false;
}

void main() {
    int n;
    printf("Nhap vao gioi han n = ");
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        if (ktSoHoanHao(i))
            printf("%5d", i);
    }

    printf("\n");
}

Hope it help...

đã bổ sung 5.5 năm trước bởi
Avatar: Văn Luân Văn Luân50
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)