Предмет: Информатика, автор: grafor135

Требуется написать программу, которая найдет наименьшее и наибольшее числа, состоящие из тех же цифр, что и заданное натуральное число N.
Пример : ввод :7051
Вывод :1057 7510
Питон


Semensemen123123ee: могу сказать алгоритм/сделать код на C++, если хочешь, дам, сам на питон переведёшь)
grafor135: Давай алгоритм решения

Ответы

Автор ответа: Semensemen123123ee
1

Ответ:

Объяснение:

смотри делишь это всё на цифры циклом

например

a = 123

a = a % 10 = 3

a  = a // 10 = 12

a = a % 10 = 2

a = a // 10 = 1

a = a % 10

ты должен сохранять в массив все остатки от деление (%) и потом удалять последнюю цифру (//), и так пока 'a' не будет равно 0 (a - в данном случае вводимое число)

после сортируешь массив по неубыванию(по увелечению) и выводишь

после выводишь этот массив с конца

код на C++:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

   int a; // обозначение числа

   cin >> a; // ввод числа

   vector <int> A;

   for(; a; a /= 10){ // цикл работает пока a > 0, после каждого цикла будет удаляться последняя цифра

       A.push_back(a % 10) ;// сохроняем на последнее место в массиве последнюю цифру нынешнего 'a'

   }

   int mini = 0;

   for(int i = 0 ; i < A.size(); i++){ // массив работает пока i меньше размера A

       for(int j = i; j < A.size(); j++){// внутрений массив который будет искать минимальною цифру в массиве и ставить её в начало

           if(mini > A[j]){

               mini = j;// вычисляет номер минимальной цифры

           }

       }

       swap(A[i], A[mini]); // меняет местами i-тый и минимальный элеммент

   }

// Это всё сортирует массив

   for(int i = 0; i < A.size(); i++){

       cout << A[i];// выводит минимальное число

   }

   for(int i = A.size() - 1; i >= 0; i--){

       cout << A[i];

   }

   return 0;

}


grafor135: Помоги , пожалуйста, ещё с одной задачей , я ее выставлял
grafor135: Если несложно
grafor135: Требуется написать программу, которая найдет наименьшее и наибольшее числа, состоящие из тех же цифр, что и заданное натуральное число N.
Пример : ввод :7051
Вывод :1057 7510
Питон
grafor135: Вот так она выглядела
Похожие вопросы
Предмет: Английский язык, автор: юлия77777772
Предмет: Химия, автор: lilipi15
Предмет: Математика, автор: tilakbaeva