Tìm Số Hoàn Hảo Từ 1 Đến N

     

Thuật toán kiểm soát số hoàn hảo và tuyệt vời nhất trong C/C++. Ứng dụng vào câu hỏi tìm, liệt kê số tuyệt vời trong mảng các số nguyên dương n phần tử, số hoàn thiện nhỏ tuổi hơn n.Bạn đã xem: tìm kiếm số tuyệt vời từ 1 mang đến n

1. Số tuyệt đối là gì?

Số hoàn hảo và tuyệt vời nhất (perfect number) hay nói một cách khác là số hoàn thành xong là số: nguyên dương mà lại tổng các ước nguyên dương ưng thuận của nó bằng chính nó.Ước bằng lòng là những ước nhưng mà số đó chia hết trừ nó và bao gồm cả số 1.

Bạn đang xem: Tìm số hoàn hảo từ 1 đến n

Ví dụ số trả hảo:

6 là số hoàn hảo, những ước bằng lòng của 6: 1, 2, 3Ta bao gồm : 6 = 1 + 2 + 328 là số hoàn hảo: 1 + 2 + 4 + 7 + 14 = 2810 chưa phải số trả hảo: 1+ 2 + 5 = 8 (khác 10)
*

Công thức tính số trả hảo

Áp dụng vào lập trình ta sẽ giải quyết nó như sau:

Khai báo một phát triển thành tam = 0; biến chuyển này sẽ dùng để tính tổng những ướcSử dụng vòng lặp i từ bỏ 0 đến bé dại hơn n. Ví như i là ước của n (tức là n % i ==0) thì ta cộng tam cùng với i : tam = tam + i;So sánh tam với n cùng tam với 0. Ví như tam == n với tam !=0 thì có nghĩa là số đó là số trả hảo, trái lại thì không.

Sẽ có chúng ta thắc mắc lý do ta không xét trường hợp n 2. Chất vấn số hoàn hảo C/C++Mình sẽ xúc tiến hàm kiểm tra một số nguyên dương n liệu có phải là số hoàn hảo hay là không dựa theo đúng ý tưởng nêu ở chỗ 1 nhé!

Code C/C++:

// đắm say kiem tra so hoan haobool kt_hoanhao(int n)int tam =0; // Khai báo biến hóa tạm giữ tổng những ướcfor(int i=1; i i là ước phê chuẩn của ntam = tam + i; // cùng vào tổng các ướcif(tam !=0 && tam == n) // ví như tổng các ước khác 0 và bởi n trả về truereturn true;else // ví như tam khác n hoặc tam ==0 thì trả về falsereturn false;}Khi gồm hàm kiểm tra số trả thiện, ta hoàn toàn có thể áp dụng vào các bài tập tương ứng. Ví dụ như (in những số tuyệt vời trong mảng, những số ht nhỏ dại hơn n .

Xem thêm: 5 Bài Văn Kể Về Ngày Tết Quê Em Hay Nhất, Top 10 Bài Văn Viết Về Ngày Tết Ở Quê Em Hay Nhất



Xem thêm: Tỉnh Quảng Ninh Có Bao Nhiêu Huyện Của Quảng Ninh, Tỉnh Quảng Ninh Có Bao Nhiêu Thành Phố

. .)

Dưới đây mình xúc tiến chương trình in ra tất cả các số hoàn thành xong trong mảng trong C++ nhé!

Code C++:

#includeusing namespace std;// mê man kiem tra so hoan haobool kt_hoanhao(int n)int tam =0;for(int i=1; i>n;cout>a;// In so hoan hao vào dayvoid in_sohoanhao(int a, int n){cout

3. Lời kết

Perfect number là một trong dạng bài tập khá hay, nó giúp cho bạn hiểu rộng về bốn duy lập trình, cách phối kết hợp vòng lặp, câu đk . . . Từ kia giúp bạn nâng cấp về tài năng của bản thân. Luyện tập từ gần như thứ nhỏ dại nhất, bạn sẽ thấy được sự cách tân và phát triển của mình.

Bài viết của chính mình đến đó là hết, nếu như bạn có lời khuyên gì cho bạn hay bất kỳ thắc mắc nào, chớ ngại để lại comment xuống phía dưới nội dung bài viết nhé!