// Uva -- Division
#include <iostream>
using namespace std;
int main()
{
int i,n;
int iTemp, iTemp2;
int iCount;
int iBucket[10]; // store digit 0 ~ 9
bool bRecord;
bool bBlank = 0;
while ( cin >>n )
{
if ( n == 0 )
break;
if ( bBlank == 1 )
cout <<endl;
bBlank = 1;
bRecord = 0;
iTemp = 1234;
while ( iTemp*n <= 98765 )
{
iCount = 0;
for ( i=0 ; i<10 ; i++ )
iBucket[i] = 0;
if ( iTemp < 10000 )
iBucket[0] = 1;
iTemp2 = iTemp;
while ( iTemp2 ) // iTemp2 ---> record Divisor digits
{
iBucket[iTemp2%10]++;
iTemp2 = iTemp2 / 10;
}
iTemp2 = iTemp * n;
while ( iTemp2 ) // iTemp == iTemp*n ----> record Dividend digits
{
iBucket[iTemp2%10]++;
iTemp2 = iTemp2 / 10;
}
for ( i=0 ; i<10 ; i++ )
if ( iBucket[i] == 1 )
iCount++;
if ( iCount == 10 )
{
cout << iTemp*n << " / ";
if ( iTemp < 10000 )
cout << "0" << iTemp << " = " << n << endl;
else
cout << iTemp << " = " << n << endl;
bRecord = 1;
}
iTemp++;
}
if ( bRecord == 0 )
cout << "There are no solutions for " << n << "." <<endl;
}
}
留言
張貼留言