Rút gọn bài tìm số nguyên tố

Bài tập là tìm số nguyên tố.
Mọi người giúp em xem thử nó có lỗi đâu không ạ? vì tự học qua mạng nên không có ai giúp.

Mong mọi nguòi chỉ cho em biết em sai ở đâu và cần tinh gọn như thế nào?
Mong mọi người giúp em ạ

#include<iostream>
using namespace std;
bool kiem_tra_so_nguyen_to(int n)
{
	if (n < 2)
	{
		return false;
	}
	else //(n>=2)
	{
		if (n == 2)
		{
			return true;
		}
		else //(n>2)
		{
			if (n % 2 == 0)
			{
				return false;
			}
			else
			{
				if (n / 1 == n && n / n == 1)
				{
					return true;
				}
				

			}
		}
	}
	
 
}
int main()
{
	int n;
	cin >> n;
	bool kiemtra = kiem_tra_so_nguyen_to(n);
	if (kiemtra == true)
	{
		cout << n << " la so nguyen to\n";
	}
	else
		cout << n << " Khong phai la so nguyen to\n";


	system("pause");
	return 0;
}

cách của bạn check phần cuối sai rồi nhé.ví dụ như số 9 có thể chia hết cho 1,3,9

1 Like

Thanks ạ! Ngoài lỗi đó ra em cần vá đâu nữa không ạ?

bool soNguyenTo(int number)
{
    if (number< 2)     // nếu nhỏ hơn 2 là không
        return false;

    for (int i = 2; i <= sqrt((float)number); i ++)  //còn lớn hoặc bằng 2 thì mình sẽ check có chia cho số nào nữa hay không 
    {
        if (number%i==0)// nếu chia được1 trong các số  cho từ  2  đến number thì không phải
        {
            return false;
        }
    }
    return true; // chia hết không có thì ok
}

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