Em đang tự học đến vòng For, có 1 bài tìm số nguyên tố mà lời giải khó hiểu quá, mong mọi người giải thích giúp ạ
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int main()
{
// Khai bao bien
int n;
// Nhap gia tri dau vao
cout<<"Nhap mot so :";
cin>>n;
cout<<"Danh sach cac so nguyen to la "<<n<<endl;
//vong lap for de tim so nguyen to
for (int i=2; i<n; i++)
{
bool prime=true;
for (int j=2; j*j<=i; j++)
{
if (i % j == 0)
{
prime=false;
break;
}
}
if(prime) cout << i << endl;
}
return 0;
}
trên là lời giải web. Vòng for ban đầu i = 2, j= 2, vậy i %j == 0 thì biến prime=false gặp break thoát khỏi vòng lặp for trong thì sau khi thoát biến prime = false hay = true vậy a?
Em tự học ở nhà kiến thức nó hơi lỗ hổng, cái gì sai cơ bản mong m.n chỉ dạy
Em tự giải thì dùng 1 fun riêng để tìm số nguyên tố, sau mới dùng 1 vòng for để in ra.