SỐ HOÀN HẢO TRONG C

Thuật toán bình chọn số tuyệt vời trong C/C++. Ứng dụng vào việc 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 đang xem: Số hoàn hảo trong c


1. Số hoàn hảo và tuyệt vời nhất là gì?

Số hoàn hảo (perfect number) hay còn được gọi là số hoàn thành là số: nguyên dương cơ mà tổng các ước nguyên dương thừa nhận của nó bởi chính nó.Ước phê chuẩn là các ước nhưng mà số đó phân tách hết trừ nó và bao gồm cả số 1.

Ví dụ số hoàn hảo:

6 là số hoàn hảo, những ước chính thức của 6: 1, 2, 3Ta có : 6 = 1 + 2 + 328 là số hoàn hảo: 1 + 2 + 4 + 7 + 14 = 2810 chưa hẳn số trả hảo: 1+ 2 + 5 = 8 (khác 10)
*
Công thức tính số hoàn hảo

Ta sẽ giải quyết và xử lý bài toán vận dụng tư tưởng theo đúng định nghĩa. Để tìm tra số nguyên dương n có phải là số tuyệt vời nhất hay không, thuật toán đưa ra ở đây đó là duyệt với tìm toàn bộ các ước của n tiếp đến cộng lại.

Xem thêm: Các Bài Tập Tăng Cơ Ngực Giúp Tập Cơ Ngực Trong To Dày Và Săn Chắc

Áp dụng vào lập trình sẵn ta sẽ xử lý nó như sau:

Khai báo một thay đổi tam = 0; thay đổi 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. Trường hợp i là mong của n (tức là n % i ==0) thì ta cộng tam với i : tam = tam + i;So sánh tam với n cùng tam với 0. Trường hợp tam == ntam !=0 thì có nghĩa là số chính là số trả hảo, trái lại thì không.

Sẽ có bạn thắc mắc tại sao ta không xét trường hòa hợp n 2. Chất vấn số hoàn hảo và tuyệt vời nhất C/C++

Mình sẽ triển khai hàm kiểm tra một trong những nguyên dương n liệu có phải là số hoàn hảo hay không dựa theo đúng ý tưởng nêu ở vị trí 1 nhé!

Code C/C++:

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

Dưới phía trên mình triển khai chương trình in ra toàn bộ các số hoàn thiện trong mảng trong C++ nhé!

Code C++:

#includeusing namespace std;// đê mê 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 tương đối hay, nó giúp cho bạn hiểu rộng về tứ duy lập trình, cách phối hợp vòng lặp, câu điều kiện . . . Từ kia giúp bạn cải thiện về năng lực của phiên bản thân. Luyện tập từ những thứ nhỏ nhất, bạn sẽ thấy được sự trở nên tân tiến của mình.

Bài viết của chính mình đến đấy là hết, nếu như khách hàng có lời khuyên răn gì cho khách hàng 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é!