Cho mình xin ý tưởng về số nguyên tố trong pascal với ạ

Cho mình xin ý tưởng về số nguyên tố trong pascal với ạ

0 bình luận về “Cho mình xin ý tưởng về số nguyên tố trong pascal với ạ”

  1. *Cách 1: đếm ước.

    for i:=1 to n do if n mod i=0 then inc(d);
    if d=2 then writeln(n,’ la so nguyen to’)
    else writeln(n,’ khong la so nguyen to’);

    – Ở đây ta dùng phương pháp đếm ước, số nguyên tố là số chỉ có 2 ước là 1 và chính nó

    – Mà trong quá trình lặp, nếu n chia lấy dư cho một số i=0 thì cộng thay đổi một lượng d

    – Nếu d=2 thì in ra n,’ la so nguyen to’, ngược lại in ra n,’ khong la so nguyen to’

    – Bạn cũng có thể chạy i từ 2 -> n cũng được nhưng ĐK: d=1

    – Vì: nếu không chạy từ 1 thì chỉ có 1 ước là chính số n đó

    *Cách 2: dùng trunc(sqrt(n))

    for i:=2 to trunc(sqrt(n)) do if n mod i=0 then scan:=false;
    scan:=true;
    if scan then writeln(n,’ la so nguyen to’)
    else writeln(n,’ khong la so nguyen to’);

    – Chạy i từ 2 đến gần căn bậc nhị của n, nếu căn n chia hết cho một số i=0 thì KTM

    – Và lặp đến khi scan:=true

    Bình luận
  2. Ý tưởngSố nguyên tố là số chia cho 1 và chính nó. Giả sử số vừa nhập vào là n, ta cho i chạy từ 2 đến n-1, nếu n chia hết cho i trong bất cứ lần lặp nào thì có nghĩa là n không nguyên tố, nếu không chia hết cho bất cứ lần lặp nào là nguyên tố.

    cho xin 5 sao, cảm ơn và ctlhn nhé

    chúc bn học tốt

    Bình luận

Viết một bình luận