Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- void answer( int a[] ) {
- for( int i=1; i<10; i++ ){
- if( a[i] != 0 ){
- a[i]--, cout << i;
- break;
- }
- }
- for( int i=0; i<10; i++ )
- for( int j=0; j<a[i]; j++ ) cout << i;
- }
- int main(){
- int a[10] = {0}, ind = 0, k = 0;
- string input[10000];
- while ( cin >> input[ ind ] ){
- while( k < input[ ind ].length() ){
- switch( input[ ind ][ k++ ] ){
- case '0': a[0]++; break;
- case '1': a[1]++; break;
- case '2': a[2]++; break;
- case '3': a[3]++; break;
- case '4': a[4]++; break;
- case '5': a[5]++; break;
- case '6': a[6]++; break;
- case '7': a[7]++; break;
- case '8': a[8]++; break;
- case '9': a[9]++; break;
- }
- }
- ind++, k=0;
- answer( a );
- cout << endl;
- for( int i=0; i<10; i++ ) a[ i ] = 0;
- }
- return 0;
- }
- /*
- Задача 4а.
- Дадено е цяло положително n-цифрено число. С размяна на различни цифри на числото получаваме друго число, което е или по-малко, или по-голямо от даденото. Да се намери най-малкото n-цифрено число, което може да се получи чрез размяна на произволен брой цифри на даденото число.
- Вход:
- Задава се редица от числа, по-малки от 10100.
- Изход:
- За всяко число от редицата, на отделен ред се отпечатва най-малкото n-цифрено число, получено по описания начин.
- Пример:
- 100 283
- Решение на примера:
- 100
- 238
- */
Advertisement
Add Comment
Please, Sign In to add comment