Số Hoàn Hảo Là Gì? Một Số Bài Toán Tìm Số Hoàn Hảo
Có thể bạn quan tâm
- Sign in / Join
Khi tiếp cận với lập trình thì bài toán tìm số hoàn hảo là một trong số các bài toán được xem là bài căn bản và kinh điển của lập trình. Hôm nay chúng ta sẽ cũng tìm hiểu về chủ đề này.
Số hoàn hảo là gì?
Một số được gọi là số hoàn hảo nếu đó là một số nguyên dương và có tổng các ước của nó bằng chính nó.
Ví dụ 6=1+2+3=1*2*3
Ngoài ra số hoàn hảo chẵn còn có công thức: Nếu n là số nguyên tố thì 2n-1(2n -1)=> là số hoàn chỉnh (hoàn hảo)
Ví du: 6 là số hoàn hảo tương ứng với n=2.
Một số ví dụ về bài toán tìm số hoàn hảo.
Ví dụ 1: Nhập một số nguyên dương từ bàn phím và kiểm tra xem đó có phải là số hoàn hảo hay không.
Thuật toán: Tìm các ước của số vừa nhập và kiểm tra xem tổng của các ước có bằng số vừa nhập hay không.
Code C/C++:
#include<stdio.h> #include<conio.h> #include<math.h> void main() { int x; printf("Nhap mot so nguyen duong \n"); scanf("%d", &x); int s = 0; for (int i = 1; i < x; i++) /* chạy từ 1 đến < x vì không thể chia cho 0 và vì x%x =0 nhưng x không thể là ước của x */ if (x%i == 0) s += i; if (s == x) printf("%d la so hoan hao", x); else printf("%d khong phai la so hoan hao", x); getch(); }Kết quả:
Nhap mot so nguyen duong
4
4 khong phai la so hoan hao
Nhap mot so nguyen duong
6
6 la so hoan hao
Ví dụ 2: Tìm và xuất ra màn hình tất cả các số hoàn hảo có trong một khoảng [A,B].
Thuật toán:
Kiểm tra từ A=>B, nếu số nào thỏa mãn là số hoàn hảo thì xuất ra màn hình.
Để kiểm tra thì chúng ta cần có 1 hàm kiểm tra số hoàn hảo.
Code C/C++:
Hàm kiểm tra.
int KTSHH(int n) { int s = 0; for (int i = 1; i < n; i++) if (n%i == 0) s += i; if (s == n) return 1; // đúng trả về 1 else return 0; // sai trả về 0 }Hàm liệt kê số hoàn hảo có trong 1 khoảng [A,B] (Xem tiếp ở trang sau)
RELATED ARTICLESMORE FROM AUTHOR
C/C++Sự khác nhau giữa Inline function và Macro trong C
C/C++Trong ngôn ngữ C/C++ có bao nhiêu vùng nhớ (Memory layout)
C/C++Cấu trúc dữ liệu danh sách nhân viên
C/C++Tổng quan File trong C
C/C++Cấu trúc kiểu dữ liệu sinh viên
C/C++Cấu trúc mô tả một điểm trên tọa độ xOy
2 COMMENTS
-
cho mình cách tìm số hoàn hảo của dãy số (1+2+…+20=210) khi mình biết số tổng là 210 thì mình muốn biết các số được cộng lại có phải từ 1 đến 20 không?
Log in to leave a comment -
6 cũng là ước của 6
Log in to leave a comment
LEAVE A REPLY Cancel reply
Log in to leave a comment
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Danh sách các bài học
Các kiểu dữ liệu cơ bản trong ngôn ngữ C/C++
Mr Good - April 16, 2016 0Hướng dẫn Tạo Project Visual C++ trong Visual Studio 2012
April 16, 2016Biến-Hằng-Câu lệnh và biểu thức trong C/C++
April 16, 2016Cấu trúc IF-ELSE
April 16, 2016Cấu trúc switch – case
April 16, 2016Vòng lặp For
April 16, 2016Cấu trúc While, Do-while
April 16, 2016Cách sử dụng hàm trong lập trình
April 16, 2016Mảng một chiều
April 16, 2016 Load moreBài viết mới nhất
DownloadDownload Cisco Packet Tracer
Windows 10Hướng dẫn cài đặt webserver trên localhost để chạy wordpress
HPEHướng dẫn cấu hình IP ILO máy chủ HP DL380 Gen10
CentOSCentOS 8 – Giới thiệu về hệ điều hành Linux (P1)
Load more © Copyright 2016, All Rights Reserved. Donations are always appreciated! MEW: 0x296f1a39d5Ca3cb83C76724eA38af3B90B90109D MORE STORIESTriển khai OCS – Cài SQL Server
Mr Good - May 12, 2016 0Tự học MCSA và MCSE trên Windows Server 2003
Mr Good - April 17, 2016 0Từ khóa » Số Hoàn Hảo Chẵn
-
Số Hoàn Thiện – Wikipedia Tiếng Việt
-
Danh Sách Số Nguyên Tố Mersenne Và Số Hoàn Hảo - Wikipedia
-
Số Hoàn Hảo Là Gì? - Hànộimới
-
Số Hoàn Hảo - The Numbers Of 2H
-
Số Hoàn Thiện - Wiki Là Gì
-
Số Hoàn Hảo, Số Hoàn Chỉnh ? - Lịch Sử Toán Học
-
Số Hoàn Hảo | KL's Blog
-
Số Hoàn Hảo (toán Học) - Mimir Bách Khoa Toàn Thư
-
Số Hoàn Thiện Là Gì? Chi Tiết Về Số Hoàn Thiện Mới Nhất 2021
-
Số Hoàn Hảo Là Gì? Như Thế Nào Là Số Hoàn Hảo?
-
Thuật Toán Kiểm Tra Số Hoàn Hảo Trong C++ - Freetuts
-
Số Hoàn Hảo. [Archive] - Diễn Đàn Tin Học
-
Những Con Số Hoàn Hảo
-
Khái Niệm Số Hoàn Hảo Là Gì ? Nó Có Phải Là ... - Du Học CaNaDa