Hiển thị kết quả từ 1 đến 9 / 9
  1. #1
    Tham gia
    11-10-2002
    Location
    TP. Ho Chi Minh
    Bài viết
    17
    Like
    0
    Thanked 0 Times in 0 Posts

    Câu hỏi, cần giúp đỡ [Q] In ra so hoan thien

    So hoan thien la so ma tong cac uoc cua no tru chinh no bang chinh no.
    VD: 6 = 1 + 2 + 3;
    28 = 1 + 2 + 4 + 7 +14;
    1) Viet chuong trinh (Pascal) nhap vao so n.
    Cho biet so n co phai la so hoan thien hay khong? (n <= 2 ty)
    2) Nhu tren nhung khi xuat ra man hinh phai ghi:
    VD: 6 = 1 + 2 + 3; neu la so hoan thien
    8 <> 1 + 2 + 4; neu khong la so hoan thien
    3) Nhap vao so n. In ra tat ca cac so hoan htien be hon n.
    (n <= 2 ty)
    ** Coi chung chuong trinh chay rat cham. Lam cach nao de chuong trinh chay nhanh nhat **
    Quote Quote

  2. #2
    Tham gia
    18-08-2002
    Location
    HCM
    Bài viết
    84
    Like
    0
    Thanked 0 Times in 0 Posts
    Số hoàn chỉnh là số có dạng : N=2^(n-1)*(2^n - 1) với n là số nguyên tố và 2^n - 1 cũng là số nguyên tố. Với cách này bạn xét n=2,3,5,7,11,... và tính khi N>2 tỷ thì dửng.

  3. #3
    Tham gia
    11-10-2002
    Location
    TP. Ho Chi Minh
    Bài viết
    17
    Like
    0
    Thanked 0 Times in 0 Posts
    Cam on ban.

  4. #4
    Tham gia
    18-09-2002
    Location
    Ha Noi
    Bài viết
    1,311
    Like
    0
    Thanked 13 Times in 10 Posts
    Đúng vậy command29_10 ạ mình có chương trình này nhưng chay với n=maxint mà mất đến >5phút là ít. mọi người góp ý thêm nhé:
    uses crt;
    var
    s,max,n,i:longint;
    begin
    Write('cho gioi han');readln(max);
    if n<6 then
    begin
    wirte('khong co so hoan thien');readln; exit;
    end;
    for n:=5 to max do
    begin
    s:=1
    for i:=2 to n do
    if n mod i=0 then s:=s+i;
    if s=n then writeln(i,' la so hoan thien')
    end;
    end.

  5. #5
    Tham gia
    18-08-2002
    Location
    HCM
    Bài viết
    84
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn dùng cách mình chỉ xem sao, có thể xét lớn hơn nhiều đó.

  6. #6
    Tham gia
    11-10-2002
    Location
    TP. Ho Chi Minh
    Bài viết
    17
    Like
    0
    Thanked 0 Times in 0 Posts
    Cach cua tsondt tuy chay rat nhanh. Nhung voi cac so nguyen to 2,3,5,7 thi dung. Toi so 11 lai sai. So tiep theo cua 8128 phai la so co 8 chu so co. Danh nay chi co 7 chu so thoi. Tro thu nghi ky xem.

  7. #7
    Tham gia
    18-09-2002
    Location
    Ha Noi
    Bài viết
    1,311
    Like
    0
    Thanked 13 Times in 10 Posts
    Nếu dùng trức tiếp như mình phải thực hiện rất nhiều phép chia ta có cách nào khác không?

  8. #8
    Tham gia
    16-07-2002
    Location
    Ha noi
    Bài viết
    370
    Like
    0
    Thanked 9 Times in 9 Posts
    To real_time : ông anh thử cách tính tổng các ước của một số của em ở bên số anh em đi lúc đó tính tổng các ước của một số ai chỉ mất có sqrt(ai) thôi đảm bảo ông anh chạy chương trình sẽ nhanh hơn hẳn Ok?

    To command : số hoàn thiện là số có dạng như thế thôi chứ không phải tất cả các số nguyên tố thay vào công thức đó đều cho ra số hoàn thiện đâu, nên khi thay số nguyên tố vào công thức rồi bạn còn phải viết thêm một đoạn mã kiểm tra xem số được sinh ra có phải số hoàn thiện không.

  9. #9
    Tham gia
    18-09-2002
    Location
    Ha Noi
    Bài viết
    1,311
    Like
    0
    Thanked 13 Times in 10 Posts
    ừ nghe có lý và hay nữa đó để xem lại

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •