Trang 2 / 2 FirstFirst 12
Hiển thị kết quả từ 11 đến 16 / 16
  1. #11
    Tham gia
    16-02-2007
    Location
    TP:HCM
    Bài viết
    306
    Like
    1
    Thanked 0 Times in 0 Posts
    Em có cách kiểm tra số chính phương rất dễ:
    Code:
    function ktcp(n:integer):boolean;
    begin
       ktcp:=true;
       if frac(sqrt(n))=0 then exit;
       ktcp:=false;
    end;
    Còn hàm kiểm tra số nguyên tố có tốc độ nhanh nhất mà mình biết:

    Code:
    function ktnt(n:integer):boolean;
    var i:integer;
    begin
       ktnt:=false;
       if n<=1 then exit;
       for i:=2 to trunc(sqrt(n)) do
          if n mod i = 0 then exit;
       ktnt:=true
    end;

  2. #12
    Tham gia
    05-12-2008
    Location
    Tây Ninh
    Bài viết
    150
    Like
    1
    Thanked 4 Times in 2 Posts
    Mấy bạn ơi, mình cho For i:=N to M do... không được, nó báo lỗi 39 không hà, chỉ mình với ( M,N là số thực)

  3. #13
    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
    tìm các số chính phương từ N đến M bằng cách cho i từ căn bậc 2 của N đến căn bậc 2 của M.
    các số nguyên tố thì như bình thường.

    còn bạn cho i chạy từ N đến M mà N,M là real thì lỗi là đúng rùi, thay real bằng longint là được.

  4. #14
    Tham gia
    05-12-2008
    Location
    Tây Ninh
    Bài viết
    150
    Like
    1
    Thanked 4 Times in 2 Posts
    Cám ơn bạn, mình chạy được rồi nhưng mà đề bảo là 2 số tùy ý mà bạn, đâu có bảo số nguyên, sao lại dùng longint ?

  5. #15
    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
    vậy thì khai báo M,N là real rồi phải chạy từ:
    trunc(N)nếu N nhập vào là nguyên(if int(N)=N)
    trunc(N)+1 nếu N không nguyên.
    và đến trunc(M).
    Được sửa bởi huysun lúc 20:12 ngày 07-12-2008

  6. #16
    Tham gia
    19-07-2008
    Location
    CĐV-Phú Tân-Cà Mau
    Bài viết
    124
    Like
    0
    Thanked 2 Times in 2 Posts
    Quote Được gửi bởi doremon_No1 View Post
    Theo tui tìm số chính phương chỉ cần
    If (sqrt(a)mod 1)=0 then writeln(a,'la so chinh phuong')
    Cách của pác bị lỗi chắc. Bởi sqrt(a) là số thực, không thể dùng hàm mod được

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
  •