Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 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;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement