VasilM

4a_lowest_big_number

Nov 20th, 2012
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. void answer( int a[] ) {
  7.     for( int i=1; i<10; i++ ){
  8.         if( a[i] != 0 ){
  9.             a[i]--, cout << i;
  10.             break;
  11.         }
  12.     }
  13.     for( int i=0; i<10; i++ )
  14.         for( int j=0; j<a[i]; j++ ) cout << i;
  15. }
  16.  
  17. int main(){
  18.     int a[10] = {0}, ind = 0, k = 0;
  19.     string input[10000];
  20.  
  21.     while ( cin >> input[ ind ] ){
  22.         while( k < input[ ind ].length() ){
  23.             switch( input[ ind ][ k++ ] ){
  24.             case '0': a[0]++; break;
  25.             case '1': a[1]++; break;
  26.             case '2': a[2]++; break;
  27.             case '3': a[3]++; break;
  28.             case '4': a[4]++; break;
  29.             case '5': a[5]++; break;
  30.             case '6': a[6]++; break;
  31.             case '7': a[7]++; break;
  32.             case '8': a[8]++; break;
  33.             case '9': a[9]++; break;
  34.             }
  35.         }
  36.         ind++, k=0;
  37.         answer( a );
  38.         cout << endl;
  39.         for( int i=0; i<10; i++ ) a[ i ] = 0;
  40.     }
  41.  
  42.     return 0;
  43. }
  44. /*
  45. Задача 4а.
  46. Дадено е цяло положително n-цифрено число. С размяна на различни цифри на числото получаваме друго число, което е или по-малко, или по-голямо от даденото. Да се намери най-малкото n-цифрено число, което може да се получи чрез размяна на произволен брой цифри на даденото число.
  47.  
  48. Вход:
  49. Задава се редица от числа, по-малки от 10100.
  50.  
  51. Изход:
  52. За всяко число от редицата, на отделен ред се отпечатва най-малкото n-цифрено число, получено по описания начин.
  53.  
  54. Пример:
  55. 100 283
  56.  
  57. Решение на примера:
  58. 100
  59. 238
  60. */
Advertisement
Add Comment
Please, Sign In to add comment