In Ra Các Số Hoàn Hảo Bé Hơn N

  • Bài viết
  • Hỏi đáp
Tạo bài viết Đăng ký Đăng nhập Code24h.com 01/10/2018, 00:22 In ra các số hoàn hảo bé hơn N

Chuyện là em có code 1 bài tìm số hoàn hảo bé hơn N , nhập các số nhỏ thì thì nó vẫn in ra các số hoàn hảo bình thường, nhưng nhập số to thì chỉ output ra tới 4 số và chạy không nổi nữa . Em mới học lập trình nên code còn tù , có ai cho em cách giải quyết không ạ.

#include<iostream> using namespace std; int main() { long long n,sum; cout << "Enter your number: "; cin >> n; for ( int number = 1;number <= n;number++) { sum =0; for (int i = 1 ; i <= number;i++) if (number%i==0) sum+=i; if (sum/2.0 == number) cout << number << endl; } return 0; } Nguyễn Xuân Phúc viết 02:29 ngày 01/10/2018

5 số hoàn hảo đầu tiên là 6, 28, 496, 8128, 33550336 hiểu lý do vì sao nó chậm rồi ha :3 đơn giản vì nó cực kì hiếm và chẳng có bao nhiêu cả

Newbie viết 02:30 ngày 01/10/2018

vậy có cách nào để xuất được số hoàn hảo trên 4 mà máy có thể chạy nổi không

*grab popcorn* viết 02:27 ngày 01/10/2018

Vì nó ít nên chỉ cần tạo sẵn một mảng ra rồi dò theo N :>

Phước Bá Nguyễn viết 02:32 ngày 01/10/2018

input kiểu long, for thì kiểu int nên nó giới hạn tới 32… kiểu in thôi. sửa code lại thì nó sẽ chạy nổi thôi. chỉ là sẽ chậm. cách hay là như bạn ở trên viết lên mạng search ra rồi tạo mảng so sánh kaka. bao nhanh.

Trung Trường Đàm Nguyễn viết 02:36 ngày 01/10/2018

Bài này bạn có thể cho chạy biến đếm i rồi check nếu 2^i-1 là số nguyên tố thì in ra số hoàn hảo là 2^(i-1)*(2^i-1)

rogp10 viết 02:29 ngày 01/10/2018

Vì đơn giản là cắm đầu chạy từ 1 đến N thì sao mà không lâu

Thực ra bài này không tiêu biểu lắm, nếu hỏi tổng các ước số thì sẽ thuyết phục hơn là hỏi kiểu này (vì lưu mảng cho cùng là vô nghĩa)

Quang Minh viết 02:37 ngày 01/10/2018 bool isPerfectNumber(int n) { int sum = 0; for (int i = 1; i <= n/2; i++) { if (n % i == 0) sum += i; } return sum == n; }

Mình đóng góp một thuật toán tối ưu hơn 1 chút nhé

HK boy viết 02:32 ngày 01/10/2018

Thế này vẫn chưa phải là tối ưu, độ phức tạp của thuật của bạn và của bạn thớt đều là O(n) cả.

rogp10 viết 02:36 ngày 01/10/2018

Chưa tối ưu đâu cận có thể xuống tới sqrt(N) và dấn thêm nữa thì không quá sqrt(N) luôn.

p/s: đã “tối ưu” thì không có “hơn”, “tối” là nhất rồi. Tất nhiên có thể chỉnh thêm nữa.

Quang Minh viết 02:33 ngày 01/10/2018

Oki b ^^ m xem lại đã ^^ cảm ơn b nhé ^^

Quang Minh viết 02:28 ngày 01/10/2018

Oki b ^^ :)) edit nhiều quá mình không kịp trả lời :)) đáng lẽ cái đó phải là tốt hơn thôi chứ b nhỉ :)) Thì đây là cách m mới suy nghĩ khi chủ topic đặt vấn đề :)) nên mình sẽ suy nghĩ thêm ^^ cảm ơn b nhé

Bình luận về bài viết này Chia sẻ tin đăng đến bạn bè Gửi Messenger Copy link Bài liên quan

Newbie

0 chủ đề

0 bài viết

Tác giả nổi bật
  • Son Dong
  • Hoa Nguyen
  • Pham Dat
  • Nguyễn Dũng
  • Đào Đăng Sơn
Từ khóa nổi bật AngularJS Blog Bootstrap C / C++ Cấu trúc dữ liệu & Giải thuật Cơ sở dữ liệu Codeigniter Công cụ lập trình CSS CSS cơ bản CSS3 Học Excel HTML HTML cơ bản HTML5 Java Javascript jQuery Json Lập trình mobile Laravel Linux MongoDB MySQL NodeJS Oracle Pascal PHP PHP cơ bản PHP nâng cao Python React Native ReactJS Ruby SEO SQL Server Swift Visual Basic VueJS WordPress XML Chủ đề nổi bật
  • 1 Cài đặt phần mềm cần thiết cho học lập trình web
  • 2 Tự Học HTML Cơ Bản Online Miễn Phí Từ A đến Z
  • 3 Seo website dành cho dân IT
  • 4 REACT NATIVE
  • 5 sdfdsf
  • 6 Lập trình di động với React Native
  • 7 Vue.js
  • 8 Kiếm thức cơ bản HTML CSS
  • 9 So sánh count() và sizeof() 2 phần tử đếm mảng
  • 10 Toán tử và biểu thức của php
0 Các chủ đề đang được quan tâm phần mềm lập trình php | lập trình web php + mysql | khóa học lập trình php | tự học lập trình php | học php cơ bản thachpham | Sỉ lẻ thùng rác thông dụng tại vĩnh long, thùng rác 120L 240l giá rẻ- lh 0911.082.000 | Xổ số miền bắc | baycho | Code24h | Cho thuê phòng trọ hà nội | Cho thuê phòng trọ bình thạnh | Cho thuê phòng trọ | Cho thuê nhà trọ Đăng ký

Đăng ký nhận thông báo

Các bài học thú vị sẽ được gửi đến inbox của bạn

HỖ TRỢ HỌC VIÊN
  • Các câu hỏi thường gặp
  • Điều khoản sử dụng
  • Chính sách và quy định
  • Chính sách bảo mật thanh toán
  • Hỗ trợ học viên: [email protected]
  • Báo lỗi bảo mật: [email protected]
VỀ CODE24H
  • Giới thiệu Code24h
  • Cơ hội nghề nghiệp
  • Liên hệ với chúng tôi
HỢP TÁC VÀ LIÊN KẾT
  • Đăng ký giảng viên
  • Giải pháp e-learning
  • Chương trình đại lý
  • Chương trình Affiliate
KẾT NỐI VỚI CHÚNG TÔI
TẢI ỨNG DỤNG TRÊN ĐIỆN THOẠI

CCode 24h, code mọi lúc, mọi nơi

© Copy right 2018 - 2025

Từ khóa » Số Hoàn Hảo Nhỏ Hơn N