.
Повернутися
struct TwoIntNums
{
int A;
int B;
};
bool IsPrime(int n)
{
if (n<=1) return false;
if (n==2) return true;
if (n%2==0) return false;
for (int i=3; i*i<=n; i+=2)
{
if(n%i==0) return false;
}
return true;
}
TwoIntNums CalcTwoPrimes(int N)
{
TwoIntNums result;
result.A = -1;
result.B = -1;
if (N<=0 || N%2!=0) return result;
for (int i=2; i<=N/2; i++)
{
if(IsPrime(i) && IsPrime(N-i))
{
result.A = i;
result.B = N-i;
break;
}
}
return result;
}
|