Mang đến cho bạn hành trang là Kiến thức và Kinh nghiệm

Lựa chọn chủ đề bạn quan tâm

Cùng nhau thảo luận về các vấn đề

Hãy theo dõi chúng tôi nếu bạn thấy bổ ích

  1. Hỏi đáp IT
  2. Hỏi nhanh

In ra các số hoàn hảo bé hơn N

299 Lượt xem 5 Bình luận 0 Lượt báo xấu
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;
}
 
Câu trả lời

- Bạn đã sẵn sàng thảo luận về chủ đề này. Hãy bấm "Viết bình luận", bạn có thể lựa chọn sử dụng tài khoản Facebook hoặc Google++

- Vì sự phát triển của cộng đồng CNTT/CNPM tại Việt Nam!

Unknown user
No responses yet

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, đơn giản vì nó cực kì hiếm và chẳng có bao nhiêu cả
0 Lượt thích

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
0 Lượt thích

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

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.
0 Lượt thích

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)
0 Lượt thích

Từ khóa tìm kiếm

Câu trả lời mới nhất

Tin tuyển dụng