Informatică, întrebare adresată de InfoM, 8 ani în urmă

Cerinta

Se citeste de la tastatura un numar natural N. Calculati numarul minim care se obtine prin eliminarea unei singure cifre din numarul initial.


Date de intrare

Se citeste de la tastatura numarul natural N.


Date de iesire

Se va afisa numarul minim dupa eliminarea unei cifre.


Restrictii si precizari

0 < N < 1,000,000,000


Exemplu
Date de intrare Date de iesire
5912 512

Răspunsuri la întrebare

Răspuns de Petruccinator
1

#include <iostream>

#include <algorithm>

int min_fmt(std::string s) {

   if (s.length() > 1) {

       int mn = -1u >> 1;

       char temp;

       

       for (size_t i = 0; i < s.length(); ++i) {

           temp = s[i];

           s.erase(i, 1);

           mn = std::min(mn, atoi(s.c_str()));

           s.insert(i, 1, temp);

       }

       

       return mn;

   }

   return s.length() ? s[0] - '0' : 0;

}

int main() {

   std::string n;

   std::cin >> n;

   std::cout << min_fmt(n);

}

Alte întrebări interesante