Trang 2 / 2 FirstFirst 12
Hiển thị kết quả từ 11 đến 15 / 15

Chủ đề: Giúp với!

  1. #11
    Tham gia
    25-03-2008
    Bài viết
    22
    Like
    0
    Thanked 6 Times in 4 Posts
    Quote Được gửi bởi langtusitinh225 View Post
    Code:
    program TBC;
    ues crt;
    var n:integer
    {----------}
    procedure nhap;
    begin
       clrscr;
       write('N =');
       readln(n);
    end;
    {---------}
    function ktnt(n:integer):boolean;
    var i:integer;
    begin
       ktnt:=false;
       for i:=2 to trunc(sqrt(n)) do
          if n mod i=0 then exit;
       ktnt:=true;
    end;
    {---------}
    procedure xl;
    var tong,i:integer;
    begin
       tong:=0;
       for i:=2 to n do
          if ktnt(i) then tong:=tong+i;
       write(tong);
    end;
    {---------}
    begin
       nhap;
       xl;
       readln;
    end.
    Đề bài là tính trung bình cộng mà ?

  2. #12
    Tham gia
    25-03-2008
    Bài viết
    27
    Like
    0
    Thanked 0 Times in 0 Posts
    Code chương trình này chỉ mới tính tổng các số nguyên tố từ 1 --> n thôi.
    Nếu bạn tính trung bình cộng thì đổi câu lệnh write(tong) trong procedure xl thành write(tong/n:0:2).

  3. #13
    Tham gia
    31-01-2008
    Location
    NewYork
    Bài viết
    32
    Like
    0
    Thanked 1 Time in 1 Post
    Bạn NguyenChiCuong mới học Pascal, mà bạn langtusitinh225đã dùng hàm và thủ tục để giải bài này thỉ làm sao mà bạn NguyenChiCuong hiểu được ( mình cũng thế ). Mình có 1 bài này đơn và dễ hiểu hơn.
    Chưa test thử , nếu có gì sai sót mong các bạn thông cảm nhé ^^!!

    Code:
    Program bt;
     Var i,j,n : integer; tong : real;
    Begin
     Write ('Nhap n:');Readln(n);
     tong:=0;
     For i:=2 to n do
      Begin
       j:=2;
       While i mod j <> 0 do {Kiểm tra số ngtố}
         j:=j+1;
       If i = j then {Nếu i là số ngtố thì cộng dồn i cho tong}
         tong:=tong + i; 
      end;
     Write ('Tong =',tong/n);
     Readln;
    End.
    Có gì sai sót mong các bạn thông cảmn ha ^_^!!

  4. #14
    Tham gia
    28-09-2007
    Location
    Vĩnh Yên-Vĩnh Phúc
    Bài viết
    1,167
    Like
    6
    Thanked 14 Times in 12 Posts
    mình nghĩ là nên dùng 1 mảng lưu các số nguyên tố đã tìm dc lại, sau đó các số nào không chia hết cho các số trong ấy là số nguyên tố và cho vào mảng.

    var mang:array[1..10000]of longint;
    i,n,k:longint;
    function kt(a:longint):boolean;
    var j:longint;
    begin
    kt:=true;
    for j:=2 to k do
    if a mod mang[j]=0 then
    begin
    kt:=false;
    break;
    end;
    end;
    begin
    readln(n);
    for i:=1 to n do
    if kt(i)then
    begin
    inc(k);
    mang[k]:=i;
    end;
    {.......}
    end.

    phần trong{} là tính trung bình cộng.

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

    Code

    Code của tớ như vầy anh em góp ý nhá ^^! :

    Program test;
    Var i,j,n,dem : integer; tong : Longint;
    Begin
    Write ('Nhap n:');Readln(n);
    tong:=0;
    For i:=2 to n do
    Begin
    j:=2;
    While i mod j <> 0 do
    inc(j);
    If j = i - 1 then
    begin
    inc(dem)
    tong:=tong + i;
    End;
    end;
    Write ('Tong =',tong/dem);
    Readln;
    End.

Trang 2 / 2 FirstFirst 12

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
  •