vector< int > _N1;
bool isDiff3(int x)
{
int a = x % 10, b = x / 10 % 10,c = x / 100;
return a != b && b != c && a != c;
}
template < class T >
inline T Taxis(T *A, int iMax)
{
for (int i = 0; i < iMax; ++i)
{
T tmp = A[i];
for (int j = i; j < iMax; ++j)
{
if (tmp < A[j])
{
A[i] = A[j];
A[j] = tmp;
tmp = A[i];
}
}
}
return A[0];
}
bool isDiff9(int x1, int x2, int x3)
{
int v[9];
*v = x1 / 100;
*(v+1) = x1 /10 % 10;
*(v+2) = x1 % 10;
*(v+3) = x2 / 100;
*(v+4) = x2 /10 % 10;
*(v+5) = x2 % 10;
*(v+6) = x3 / 100;
*(v+7) = x3 /10 % 10;
*(v+8) = x3 % 10;
Taxis(v, 9);
return *v == *(v+1) ||
*(v+1) == *(v+2) ||
*(v+2) == *(v+3) ||
*(v+3) == *(v+4) ||
*(v+4) == *(v+5) ||
*(v+5) == *(v+6) ||
*(v+6) == *(v+7) ||
*(v+7) == *(v+8) ||
*(v+8) == *(v);
}
void DisplayNum()
{
for (int i = 13; i < 32; ++i)
{
int v = i * i;
if (isDiff3(v))
_N1.push_back(v);
}
size_t N = _N1.size();
int f = 0;
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < N && i != j; ++j)
{
for (int k = 0; k < N && j != k && i != k; ++k)
{
int a = _N1[i], b = _N1[j], c = _N1[k];
if (!isDiff9(a,b,c))
printf("%d-%d-%d ", a,b,c, f++);
}
}
}
printf("have %d group number", f);
}
bool isDiff3(int x)
{
int a = x % 10, b = x / 10 % 10,c = x / 100;
return a != b && b != c && a != c;
}
template < class T >
inline T Taxis(T *A, int iMax)
{
for (int i = 0; i < iMax; ++i)
{
T tmp = A[i];
for (int j = i; j < iMax; ++j)
{
if (tmp < A[j])
{
A[i] = A[j];
A[j] = tmp;
tmp = A[i];
}
}
}
return A[0];
}
bool isDiff9(int x1, int x2, int x3)
{
int v[9];
*v = x1 / 100;
*(v+1) = x1 /10 % 10;
*(v+2) = x1 % 10;
*(v+3) = x2 / 100;
*(v+4) = x2 /10 % 10;
*(v+5) = x2 % 10;
*(v+6) = x3 / 100;
*(v+7) = x3 /10 % 10;
*(v+8) = x3 % 10;
Taxis(v, 9);
return *v == *(v+1) ||
*(v+1) == *(v+2) ||
*(v+2) == *(v+3) ||
*(v+3) == *(v+4) ||
*(v+4) == *(v+5) ||
*(v+5) == *(v+6) ||
*(v+6) == *(v+7) ||
*(v+7) == *(v+8) ||
*(v+8) == *(v);
}
void DisplayNum()
{
for (int i = 13; i < 32; ++i)
{
int v = i * i;
if (isDiff3(v))
_N1.push_back(v);
}
size_t N = _N1.size();
int f = 0;
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < N && i != j; ++j)
{
for (int k = 0; k < N && j != k && i != k; ++k)
{
int a = _N1[i], b = _N1[j], c = _N1[k];
if (!isDiff9(a,b,c))
printf("%d-%d-%d ", a,b,c, f++);
}
}
}
printf("have %d group number", f);
}