Đề bài là nhập 1 số kiểm tra số đó có phải số nguyên tố không ,có thì in ra các số nguyên tố đứng trước nó,1 hàng chứa 5 số và các số cách nhau 1 dấu tab.
Thuật toán của mình là tạo ra 1 biến đếm và cho nó =1(int dem=1;)
chạy vòng lặp từ 1 tới n
kiểm tra các số trong vòng lặp có phải SNT hay không,có thì xuất nó ra và tăng biếm đếm lên 1(dem++;)
khi nào biến đếm = 5 thì xuống hàng
dưới đây là code của mình mogn các bạn chỉ cho mình cái sai:
#include < iostream>
#include < conio.h>
using namespace std;
bool KiemTraSoNguyenTo(int n);
int NhapSo();
void Inso(int n);
int main()
{
int n = NhapSo();
if (KiemTraSoNguyenTo(n) == true)
{
cout << endl << "Yes\n";
}
else
{
cout << endl << "No\n";
}
Inso(n);
_getch();
return 1;
}
bool KiemTraSoNguyenTo(int n)
{
int i;
if (n < 2)
{
return false;
}
if (n > 2)
for (i = 2; i <=sqrt(n); i++)
{
if (n%i == 0)
{
return false;
}
}
return true;
}
int NhapSo()
{
int n;
cout << endl << "Nhap vao 1 so nguyen duong : ";
cin >> n;
return n;
}
void Inso(int n)
{
if (KiemTraSoNguyenTo(n)==true)
{
int i, dem = 1;
for (i = 0; i <= n; i++)
{
if (KiemTraSoNguyenTo(i) == true)
cout << i << '\t';
dem++;
if (dem==5)
cout <<i<< '\n';
}
}
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?