Решение задачи Наименьшее и наибольшее числа из тех же цифр с Acmp

Без пояснения   Просмотров: 20


Требуется написать программу, которая найдет наименьшее и наибольшее числа, состоящие из тех же цифр, что и заданное натуральное число N.

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    string s, s1, s2;
    cin >> s;
    s1 = s;
    s.clear();
    sort(s1.begin(), s1.begin() + s1.size());
    for(int i = s1.size() - 1; i >= 0; --i){
        s2.push_back(s1[i]);
        s.push_back(s1[i]);
    }
 
    int pos = s.find("0");
    if(pos > 0){
    cout << s[pos - 1];
    for(int i = pos; i < s.size(); ++i)
        cout << s[i];
    for(int i = pos - 2; i >= 0; --i)
        cout << s[i];
    }
    else
        cout << s1;
    cout <<" ";
    for(int i = 0; i < s2.size(); ++i)
        cout << s2[i];
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться