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 ạ”
*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
Ý tưởng: Số 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ố.
*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
Ý tưởng: Số 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