Hướng dẫn bí quyết kiểm tra số tuyệt vời và hoàn hảo nhất trong C. Bạn sẽ học được phương pháp tạo hàm chất vấn số tuyệt đối hoàn hảo trong C sau bài học này.

Bạn đang xem: Số hoàn thiện là gì

Bạn đang xem: Số tuyệt vời là gì

Số tuyệt vời và hoàn hảo nhất trong C

Theo wikipedia thì quan niệm số tuyệt vời và hoàn hảo nhất như sau:

Số hoàn hảo và tuyệt vời nhất (hay còn gọi là số trả chỉnh, số hoàn thành hoặc số hoàn thành) là một số trong những nguyên dương nhưng mà tổng những ước nguyên dương thừa nhận của nó (số nguyên dương bị nó phân chia hết kế bên nó) bởi chính nó.Nguồn wikipedia

Khái niệm số tuyệt vời nhất trong C cũng như trên. Họ coi một trong những là số hoàn hảo trong C trường hợp như tổng những ước nguyên dương ưng thuận của nó (ngoại trừ nó) bởi chính nó.


*

Đây là chìa khóa thứ giúp chúng ta có thể tìm được số tuyệt vời và hoàn hảo nhất trong C.

Kiểm tra số tuyệt đối hoàn hảo trong C

Một số được xem như là số hoàn hảo trong C nếu như như tổng các ước nguyên dương bằng lòng của nó (ngoại trừ nó) bởi chính nó.

Để tìm mong số của một số chỉ định, chúng ta chia theo thứ tự số đó cho các số bé dại hơn nó, với nếu phép chia không có dư thì số được chia đó là một mong số nên tìm.

Và chúng ta tạo hàm khám nghiệm số hoàn hảo và tuyệt vời nhất trong C như sau:

Copy

int find_perfect_num(int n) // flag = 1 => số hoàn hảo và tuyệt vời nhất // flag = 0 => không hẳn số hoàn hảo và tuyệt vời nhất int flag = 0, total=0; //Tìm tổng mong số for (int i=1;i if (n % i == 0) total+=i;//Nếu là mong số thì cộng vào tổng //So sánh tổng cầu số với số đã đến để tìm thấy số hoàn hảo nhất if (total == n & n!=0) flag = 1; return flag;}

Chúng ta hoàn toàn có thể gọi hàm này và áp dụng trong công tác nhập n kiểm tra n gồm phải số hoàn hảo nhất không vào C như sau:

Copy

#include int find_perfect_num(int n) // flag = 1 => số tuyệt vời và hoàn hảo nhất // flag = 0 => chưa hẳn số tuyệt vời nhất int flag = 0, total=0; //Tìm tổng cầu số for (int i=1;i if (n % i == 0) total+=i;//Nếu là mong số thì cộng vào tổng //So sánh tổng cầu số với số đã mang lại để tìm thấy số tuyệt đối hoàn hảo if (total == n và n!=0) flag = 1; return flag;}int main(void) int n; printf(">> nhap mot so tu nhien: "); scanf("%d",&n); int check = find_perfect_num(n); if( check == 1 ) printf("%d la so hoan hao ", n); else printf("%d khong phai la so hoan hao ", n); return 0;

Lưu ý là số nhập từ bàn phím phải là một trong những tự nhiên.

Xem thêm: Hội Rich Kid Việt Nam - Top 10 Cái Tên Trong Thế Hệ Gen Z Hot Nhất

Màn hình nhập liệu và tác dụng kiểm tra số tuyệt vời và hoàn hảo nhất trong C vẫn như sau:

Copy

In ra hàng số tuyệt vời và hoàn hảo nhất bằng C

Và dưới đó là ví dụ về chương trình nhập n in ra dãy số hoàn hảo và tuyệt vời nhất từ 1 mang đến n vào C:

Copy

#include int find_perfect_num(int n) // flag = 1 => số tuyệt đối hoàn hảo // flag = 0 => chưa hẳn số tuyệt vời int flag = 0, total=0; //Tìm tổng mong số for (int i=1;i if (n % i == 0) total+=i;//Nếu là cầu số thì cộng vào tổng //So sánh if (total == n & n!=0) flag = 1; return flag;}int main(void) int n; printf(">> nhap mot so n: "); scanf("%d",&n); int i = 0, check; while ( i kiểm tra = find_perfect_num(i); if( check == 1 ) printf("%d ", i); ++i; return 0;}

Kết quả:

Copy

Tổng kết

Trên đây Kiyoshi đã hướng dẫn chúng ta cách kiểm tra số hoàn hảo và tuyệt vời nhất trong C rồi. Để nắm rõ nội dung bài học hơn, các bạn hãy thực hành thực tế viết lại những ví dụ của ngày hôm nay nhé.