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);
}