Trang 2 của 2 Đầu tiênĐầu tiên 12
Kết quả 11 đến 14 của 14
  1. #11
    Hội Vật Lý Đào Duy Từ Apprentice Mod Smileeeee's Avatar
    Ngày tham gia
    03 May 2011
    Tuổi
    27
    Bài viết
    38
    Thanks
    1
    Thanked 0 Times in 0 Posts
    Rep Power
    38

    Mặc định Re: Giải bài tập Pascal *D2T*

    Trích dẫn Gửi bởi thanhkhoeo Xem bài viết
    var j:integer;
    function nguyento(z:integer):boolean;
    var i:integer;
    begin
    nguyento:=true;
    for i:=1 to (sqrt(z)div 1) do
    if z mod i=0 then nguyento:=false;
    end;begin
    clrscr;
    for j:=1 to 300 do if nguyento(j) then
    write(j:4);
    readln
    end.
    Anh ơi em chưa học đến cái function vs lại em viết chương trình k chạy đc

  2. #12
    Nhập môn đồ đệ ĐDT Member
    Ngày tham gia
    30 Oct 2011
    Tuổi
    31
    Bài viết
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    36

    Mặc định Re: Giải bài tập Pascal *D2T*

    Trích dẫn Gửi bởi kylong Xem bài viết
    Nay chỉ học C++ nên anh không nhớ rõ pascal lắm.Em thử cái này xem(Không biết cấu trúc có đúng không.Lâu ngày không học mà ):
    var n:integer;
    begin
    clrscr;
    for i:=1 to 300 do
    write(n:4);
    readln
    end.
    Hôm qua mình nhầm in các số từ 1 đến 300.Bài sửa lại đã test:

    uses crt;
    var n,i,j,m,k:integer;
    begin
    clrscr;
    write('Nhap vao mot so n=');
    readln(n);
    writeln('Cac so nguyen to nho hon ',n,' la:');
    for i:=1 to n do
    begin
    k:=0;
    m:=round(sqrt(i));
    for j:=1 to m do
    if i mod j =0 then k:=k+1;
    if k=1 then write(i:10);
    end;
    readln
    end.

  3. #13
    Hội Vật Lý Đào Duy Từ Apprentice Mod Smileeeee's Avatar
    Ngày tham gia
    03 May 2011
    Tuổi
    27
    Bài viết
    38
    Thanks
    1
    Thanked 0 Times in 0 Posts
    Rep Power
    38

    Mặc định Re: Giải bài tập Pascal *D2T*

    Trích dẫn Gửi bởi panda205 Xem bài viết
    Hôm qua mình nhầm in các số từ 1 đến 300.Bài sửa lại đã test:

    uses crt;
    var n,i,j,m,k:integer;
    begin
    clrscr;
    write('Nhap vao mot so n=');
    readln(n);
    writeln('Cac so nguyen to nho hon ',n,' la:');
    for i:=1 to n do
    begin
    k:=0;
    m:=round(sqrt(i));
    for j:=1 to m do
    if i mod j =0 then k:=k+1;
    if k=1 then write(i:10);
    end;
    readln
    end.
    em cho chạy lại đc rồi anh ạ. nhưng em không hoêir vì sao khi k:=k+1 thì tới k=1 lại dừng lại? từ đầu đã là k=0 rồi mà.

  4. #14
    Nhập môn đồ đệ ĐDT Member
    Ngày tham gia
    08 Nov 2011
    Tuổi
    31
    Bài viết
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    36

    Mặc định Re: Giải bài tập Pascal *D2T*

    Muốn kiểm tra 1 số x có phải là số nguyên tố không thì ta kiểm tra xem trong khoảng từ 1 đến sqrt(x) có bao nhiêu ước của x.Nếu nó có 1 ước là 1 thì khẳng định số x là số nguyên tố.Do vậy trong bài này:
    n-Số ngẫu nhiên nhập vào từ bàn phím
    i-Biến chạy từ 1 đến n
    j-Biến chạy từ 1 đến sqrt(i) để kiểm tra xem j có phải là ước của i không.
    k-Biến đếm số ước của i.Giá trị ban đầu cho là 0.Nếu i chia hết cho j thì tăng lên 1.
    Do j chạy từ 1 nên luôn có 1 ước là 1 ==>Khi k=1 thì khẳng định số đó là số nguyên tố và thoát ra ngoài thực hiện vòng lặp tiếp theo.

Trang 2 của 2 Đầu tiênĐầu tiên 12

Thông tin về chủ đề này

Users Browsing this Thread

Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)

Đánh dấu

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • 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
  •