30/09/2018, 18:14
Đoạn code tìm số nguyên tố có sử dụng if(lasoNT) và sqrt(n) có nghĩa là gì?
Đoạn code trên tìm số nguyên tố mình có một đôi chỗ không hiểu bạn nào có thế giải thích dùm mình chỗ comment với, Cảm ơn
#include <iostream>
#include <cmath>
using namespace std;
main () {
int n;
cout << "Nhap so nguyen n: "<<endl;
cin >> n;
int lasoNT = 1; // chỗ này
for (int i=2; i<=sqrt(n) && lasoNT; i++) // chỗ này
lasoNT=(n%i); // chỗ này
if (lasoNT)
cout <<""<<n<<" la so nguyen to"; // chỗ này
else
cout <<"Khong phai la so nguyen to";
}
Bài liên quan





Kiến thức cần biết để hiểu bài này
1.Số khác 0, tương đương với
true, số bằng 0, tương đương vớifalse2.Để kiểm tra số nguyên tố, ta không cần phải chia
ncho k với k từ2..(n-1)mà ta chỉ cần kiểm traktừ 2…√nTương đương với
ibé hơn căn bậc 2 củan, và là số nguyên sốlasoNTbằng kết quảnchia lấy dưi,Nếu chia hết tức
n%itrả ra 0 thìlasoNTbằng 0, tương đương vớilasoNT = falseTương đương với
Vì code này là C++, ta có thể sửa lại như sau cho dễ hiểu hơn