Hiển thị kết quả từ 1 đến 6 / 6

Chủ đề: Số hoàn thiện

  1. #1
    Tham gia
    15-04-2011
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts

    Vui lắm ! Số hoàn thiện

    Mọi người giúp đỡ giùm

    Số tự nhiên N được gọi là số hoàn thiện nếu tổng các ước của nó( ko kể nó) bằng N.
    VD: số 28 là số hoàn thiện vì 28=1+2+4+7+14;

    Yêu cầu: Cho trước 2 số tự nhiên R và S (R<S). Hãy viết chương trình in ra màn hình các số hoàn thiện N nằm trong đoạn [R;S]. Nếu không có số nào thì in ra màn hình là : 'KHONG TÌM THẤY'. Biết R, S nhập từ bàn phím ( 0<R,S<30000).

    Input: R=3; S=40
    Output: 6 28

    Nếu có cách giải rõ ràng và dễ thì chỉ cho em với nha, ko thì cho thuật toán cũng được.
    Viết bằng Pascal, đừng dùng chương trình con, em chưa học tới.
    Quote Quote

  2. #2
    Tham gia
    23-01-2011
    Bài viết
    45
    Like
    1
    Thanked 2 Times in 2 Posts
    bài này chỉ có cách dùng chương trình con là nhanh nhất.
    code
    var r,s,k:word;
    function sh(x:word):boolean;
    var i,s:word;
    begin s:=0;
    for i:=2 to x-1 do if x mod i = 0 then s:=s+i;
    if n=s then sh:=true else dh:=false;
    end;
    (*****************************)
    begin{chuong trinh chinh}
    write('nhap R,S: '); readln(R,S);
    for k:=R to S do
    if sh(k) then ửite(k,' ');
    readln;
    end.

  3. #3
    Tham gia
    15-04-2011
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts

    cảm ơn nhiều

    cảm ơn nhiều nhưng em chưa học chương trình con, dùng cách khác được ko ?

  4. #4
    Tham gia
    05-08-2010
    Bài viết
    313
    Like
    9
    Thanked 73 Times in 69 Posts
    Quote Được gửi bởi kysibongdem_494 View Post
    cảm ơn nhiều nhưng em chưa học chương trình con, dùng cách khác được ko ?
    Code:
    uses crt;
    var i, j, r, s: integer;
        kt, f: boolean;
    begin
         clrscr;
         f:=false;
         write(' Nhap r,s: '); readln(r,s);
         for i:=r to s do
             begin
                  kt:=false;         s:=0;
                  for j:=1 to i-1 do if i mod j=0 then s:=s+j;
                  if s=i then
                     begin 
                          f:=true;
                          write(i,' ');
                     end;
             end;
         if not f then write(' KHONG TIM THAY');
         readln
    end.
    Bài của 1hakunamatata phải sửa lại là for i:=1
    Được sửa bởi HGMinh95 lúc 22:40 ngày 18-04-2011

  5. #5
    Tham gia
    15-04-2011
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts

    Thanks but..

    Sr anh nhiều, có thể do em nhầm lẫn
    Được sửa bởi kysibongdem_494 lúc 18:52 ngày 19-04-2011

  6. #6
    Tham gia
    05-08-2010
    Bài viết
    313
    Like
    9
    Thanked 73 Times in 69 Posts
    Quote Được gửi bởi kysibongdem_494 View Post
    Anh đọc chưa kĩ đề rồi.
    Số hoàn thiện ko phải là số nguyên tố. nhưng dù sao cũng cảm ơn anh nhiều
    Em đọc kỹ bài chưa, đây là bài tìm số hoàn thiện chứ ko phải số nguyên tố

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
  •