Kiểm Tra Một Số Có Phải Số Hoàn Hảo Trong C
Có thể bạn quan tâm
Bài tập cơ bản này ta có thể có nhiều hướng giải quyết khác nhau, như sử dụng vòng lặp for , sử dụng vòng lặp while, …
Đầu vào sẽ là một biến nguyên N và yêu cầu của bài toán là Kiểm tra N có phải số hoàn hảo hay không.
2. Lời giảiĐầu tiên chúng ta cần phải tìm hiểu số hoàn hảo là gì?
Số hoàn hảo hay còn gọi là số hoàn thiện, đó là một số nguyên dương lớn hơn 0 và có tổng các ước (ngoại trừ số đó) bằng chính nó.
Ví dụ như 6 có ước số nhỏ hơn nó là 1, 2, 3 và tổng 1+2+3=6, suy ra 6 là số hoàn hảo.
Để giải được bài tập kiểm tra N có phải số hoàn hảo hay không bạn phải có kiến thức về toán học cơ bản, có kiến thức về lập trình C cơ bản và cách sử dụng vòng lặp.
Các bước thực hiện bài toán như sau:
Bước 1: Ta khai báo biến N để gán giá trị của N, biến int S=0 để tính tổng các ước số của N (khác N).
Bước 2: Sử dụng hàm for để bắt đầu duyệt từ 1 đến N-1, mỗi lần i sẽ tăng lên 1
Bước 3: Sử dụng câu điều kiện if trong vòng for để kiểm tra từ phần tử N có chia hết cho phần tử i không. Nếu có ta tăng biến S lên i.
Bước 4: Ta dùng điều kiện if với điều kiện N=S thì in ra màn hình N là số hoàn hảo còn ngược lại N không phải là số hoàn hảo
Chương trình giải bài tập kiểm tra N có phải số hoàn hảo hay không như sau:
#include<stdio.h> int main() { //khai bao bien N int N; //khai bao bien S int S=0; do { // nhap du lieu gan vao bien N printf("\nNhap N = "); scanf("%d", &N); if(N <= 0)//neu N<=0 se hien thi cau lenh { printf("\n N phai > 0. Xin nhap lai !"); } }while(N <= 0);//dieu kiên N > 0 neu N<=0 yeu cau nhap lai //vong lap for bat dau tu i = 1 và ket thuc khi i = N-1, moi lan lap i tang len 1 for(int i = 1; i <=N-1; i++) { if(N%i==0)//kiem tra uoc cua N { S+=i;//moi lan lap bien S tang len i } } if(S==N)//neu S=N thi N la so hoan hao { printf("%d la so hoan hao",N); }else{//neu S!=N thi N khong phai la so hoan hao printf("%d khong phai la so hoan hao",N); } }Ví dụ tôi nhập N=6
Kết quả:
Nhap N = 6 6 la so hoan hao |
Để thực hiện giải bài tập kiểm tra N có phải số hoàn hảo hay không bạn đọc cần phải biết về số hoàn hảo là gì?, có kiến thức cơ bản ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản, các cách sử dụng vòng lặp trong C và các phép toán học cơ bản .
Bài tập trên có thể giải bằng các khác là sử dụng vòng lặp while.
Chương trình như sau:
#include<stdio.h> int main() { //khai bao bien N int N; //khai bao bien S int S=0; do { // nhap du lieu gan vao bien N printf("\nNhap N = "); scanf("%d", &N); if(N <= 0)//neu N<=0 se hien thi cau lenh { printf("\n N phai > 0. Xin nhap lai !"); } }while(N <= 0);//dieu kiên N > 0 neu N<=0 yeu cau nhap lai int i=1;//i bat dau tu 1 while(i<=N-1)//dieu kien dung khi i<=N-1 { if(N%i==0)//kiem tra uoc cua N { S+=i;//moi lan lap bien S tang len i } i++; //moi lan lap i tang 1 } if(S==N)//neu S=N thi N la so hoan hao { printf("%d la so hoan hao",N); }else{//neu S!=N thi N khong phai la so hoan hao printf("%d khong phai la so hoan hao",N); } }Ví dụ tôi nhập N=15
Kết quả:
Nhap N = 15 15 khong phai la so hoan hao |
Từ khóa » Số Hoàn Hảo C
-
Kiểm Tra Số Hoàn Hảo Trong C
-
Cách Kiểm Tra Số Hoàn Hảo Bằng Code C/C++ - Lập Trình Không Khó
-
Thuật Toán Kiểm Tra Số Hoàn Hảo Trong C++ - Freetuts
-
Kiểm Tra Số Hoàn Hảo Trong Lập Trình C/C++
-
[C++] Số Hoàn Hảo
-
Cách Kiểm Tra Số Hoàn Hảo Trong Lập Trình C/C++
-
Số Hoàn Thiện – Wikipedia Tiếng Việt
-
Số Hoàn Hảo Là Gì? - Hànộimới
-
Số Hoàn Hảo Là Gì? Một Số Bài Toán Tìm Số Hoàn Hảo
-
Viết Chương Trình In Ra Các Số Hoàn Hảo C++ - Hỏi Đáp
-
Viết Chương Trình Kiểm Tra Số N Có Phải Là Số Hoàn Thiện Không?
-
Làm Thế Nào để Vẽ Sơ đồ Khối Tìm Số Hoàn Hảo Trong Lập Trình?
-
Số Hoàn Hảo, Số Giàu Có - Toán Học Việt Nam - MathVn.Com