TÌM SỐ HOÀN HẢO TỪ 1 ĐẾN N

     

Thuật toán bình chọn số tuyệt vời và hoàn hảo nhất trong C/C++. Ứng dụng vào vấn đề tìm, liệt kê số tuyệt đối trong mảng các số nguyên dương n phần tử, số hoàn thiện nhỏ dại hơn n.

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


1. Số tuyệt đối hoàn hảo là gì?

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

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

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

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

Xem thêm: Đồ Thị Hàm Số Y Ax2 - Giáo Án Đồ Thị Hàm Số Y = Ax^2 (2022) Mới Nhất

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

Khai báo một thay đổi tam = 0; biến này sẽ dùng làm tính tổng các ướcSử dụng vòng lặp i từ 0 đến nhỏ tuổi hơn n. Nếu i là ước 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 với tam với 0. Trường hợp tam == n với tam !=0 thì có nghĩa là số sẽ là số trả hảo, trái lại thì không.

Xem thêm: Thuyết Minh Về Một Phong Tục Ngày Tết Nguyên Đán Hay Nhất (12 Mẫu)

Sẽ có bạn thắc mắc tại sao ta không xét trường thích hợp n 2. Kiểm tra số tuyệt vời nhất C/C++

Mình sẽ xúc tiến hàm kiểm tra một số 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 phát minh nêu ở đoạn 1 nhé!

Code C/C++:

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

Dưới trên đây mình thực hiện chương trình in ra tất cả các số hoàn thành xong trong mảng vào C++ nhé!

Code C++:

#includeusing namespace std;// ham kiem tra so hoan haobool kt_hoanhao(int n)int tam =0;for(int i=1; i>n;cout>a;// In so hoan hao trong dayvoid in_sohoanhao(int a<>, int n){cout

3. Lời kết

Perfect number là 1 dạng bài bác tập khá hay, nó giúp đỡ bạn hiểu rộng về tứ duy lập trình, cách phối kết hợp vòng lặp, câu điều kiện . . . Từ kia giúp bạn nâng cấp về kĩ năng của bản thân. Rèn luyện từ các 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 bản thân mình đến đây là hết, nếu như khách hàng có lời khuyên răn gì cho chính mình hay ngẫu nhiên thắc mắc nào, chớ ngại nhằm lại comment xuống phía dưới bài viết nhé!