Xin chào mọi người ạ! Hiện tại mình đang gặp lỗi Time Limit Exceeded ở bài dưới đây, mn có thể giúp mình ko.
Đề bài : Các số nguyên tố sinh đôi (twin prime) là các số nguyên tố mà khoảng cách giữa chúng là 2. Hãy in tất cả cặp số sinh đôi nhỏ hơn một số nguyên dương cho trước (số nguyên dương này < 1000)
#include <iostream>
using namespace std;
bool snt(int a)
{
if (a<2) return false;
else if (a==2) return true;
else
{
for (int i=2; i<a ;i++)
{
if (a%i==0) {return false;
break;}
}
}
}
int main()
{
int n,i,u;
cin>>n;
u=0;
i=3;
while (i+2<n)
{
if (snt(i)==true && snt(i+2)==true)
{
cout<<i<<", "<<i+2<<endl;
u++;
}
i=i+2;
}
cout<<"Tong: "<<u<<" cap so sinh doi < "<<n;
return 0;
}