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 2.2 năm trước bởi
Avatar: Văn Luân Văn Luân50
thêm bình luận...

Câu trả lời của bạn

Chào mừng bạn đến với cộng đồng chia sẻ tri thức BanhoiTuidap.com, bạn có thể chia sẻ bất kỳ sự hiểu biết, nghiên cứu hoặc kinh nghiệm của mình về câu hỏi này với một số lưu ý:
  • Lịch sự, tế nhị.
  • Hạn chế ghi tắt, câu trả lời của bạn chỉ nên tập trung vào câu hỏi ở trên.
Câu trả lời của bạn sẽ được đăng ở chế độ cộng đồng, cho nên bạn sẽ không thể chỉnh sửa sau khi đăng, có thể đăng ký thành viên trên BanhoiTuidap.com khi bạn muốn theo dõi câu hỏi này hoặc chủ đề liên quan.
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)