Contact și feedback

Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.


Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.


Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.

Shortcuturi

Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.

Generale

Meniu shortcuturi?
Căutare probleme sau utilizatori/
Navigare printre rezultatele căutării↑, ↓
Meniu de contact și feedbackCTRL + Shift + F
Ieșire din meniuriEsc

Editor probleme

Setări editorCTRL + Shift + S
Schimbare stil editorCTRL + Shift + E
Șabloane de codCTRL + Shift + 1/2/3
Golire editorCTRL + Shift + 4

Cifra maximă și minimă a unui număr în C++

Dându-se un număr natural n, să se determine cea mai mare cifră a sa.

Exemplu. Pentru n = 12930, răspunsul este 9.

Pentru varianta recursivă, urmăriți acest articol.

Abordarea problemei

Creăm o variabilă maxim, inițial egală cu ultima cifră a lui n, care va reține la final cifra maximă a lui n.

Parcurgem cifrele lui n pe rând, pentru fiecare cifră în parte determinând dacă este mai mare decât maxim. Dacă da, actualizăm valoarea lui maxim.

Afișăm, la final, valoarea lui maxim.

Implementare în C++

Iată rezolvarea în C++.

#include <iostream>

using namespace std;

int main()
{
    //Declarăm și citim numărul nostru
    int n;
    cin >> n;

    //Calculăm maximul
    int maxim = n % 10;
    do { //Parcurgem cifrele lui nu folosind do while
        int cifra = n % 10; //Luăm ultima cifră a lui n
        if(cifra > maxim) {
            maxim = cifra; //Actualizăm maximul, dacă este cazul
        }
        n = n / 10; //Tăiem ultima cifră a lui n
    } while(n);

    //Afișăm cifra maximă
    cout << maxim;
    return 0;
}

Alte resurse sau bibliografie

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Cuprinsul lecției

Se încarcă…

Citește și

Maximul și minimul a trei valori în C++Inversarea unui vector în C++Cea mai lungă secvență de elemente crescătoare în C++Verifică dacă un caracter este literă în C++Oglinditul recursiv al unui număr în C++Transformarea unui număr din baza 10 în baza 2 în C++Numărul de divizori primi ai unui număr în C++Verificare dacă un număr este palindrom în C++Indicatorul lui Euler în C++Maximul și minimul a două valori în C++Maximul și minimul unui vector în C++Calculul combinărilor de n luate câte k (nCk) în C++Ce înseamnă endl în C++?Instrucțiunea while (structuri repetitive)Funcții predefinite în C++ (matematice, șiruri de caractere)Materia pentru olimpiada de informatică - tot ce trebuie să știiAria și circumferința unui cerc în C++Verifică dacă un caracter este cifră în C++Sortare crescătoare recursivă în C++ - Merge sort și Bubble sortCe este o funcție void în C++?Cifra de control a unui numărCe este o variabilă unsigned în C++?Al N-lea termen dintr-o progresie geometricăCum să afișezi partea întreagă a unui număr real în C++Valoarea absolută (modulul) unui număr în C++Numărul de cifre ale factorialului unui numărSuma 1 + 2 + 3 + ... + N în C++Algoritm recursiv pentru căutare binară (clasa a X-a)Cum să calculezi instant 2 la puterea N în C++Transformarea unei litere mici în literă mare în C++CMMMC a două numere în C++ (cel mai mic multiplu comun)Distanța dintre două puncte în C++Matrice pătratice în C++. Diagonala principală și secundarăOperații cu numere mari în C++ - Toate funcțiile explicateVerificare dacă șir de caractere este palindrom în C++Instrucțiunea do while (structuri repetitive)Află secolul unui an citit de la tastatură în C++Numere triunghiulare. Verificarea unui număr triunghiularCitirea și afișarea matricelor în C++Tutorial instalare CodeBlocks (ușor) - Introducere în informatică C++Generarea șirului Fibonacci generalizat în C++Numărul de apariții al unui număr într-un vector în C++Prima cifră a unui număr în C++Ciurul lui Eratostene în C++Numărul permutărilor în C++ (formula permutărilor)Cifra maximă și minimă a unui număr în C++Copiuțe: Cifrele unui numărCifra maximă a unui număr recursiv în C++Numărul minim de peroane pentru o gară în C++Aplicații cu ciurul lui Eratostene în C++: suma divizorilor, numărul divizorilorVerifică dacă trei puncte sunt coliniare C++Instrucțiunea continue (structuri repetitive)Cel mai mic/mare divizor prim al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Recursivitate în C++Șirul lui Fibonacci în C++Structuri repetitive (while, do while, for, etc)Oglinditul unui număr în C++Rădăcina cubică a unui număr în C++ (cube root)Comentarii în C++Cel mai puțin semnificativ bit în C++Al N-lea termen Fibonacci în C++Verifică dacă un număr dat este o putere de 2 în C++Cum să citești și să afișezi în fișiere în C++Suma elementelor unui vector recursiv în C++Inversarea unui șir de caractere în C++Mediana unui șir de valori în C++Divide et Impera (metodă de programare C++)Verifică dacă un număr este par sau impar fără modulo în C++Complexitatea unui algoritm (timp și spațiu) în C++Combinatorică în C++: permutări, aranjamente, combinări și alteleCel mai semnificativ bit în C++Citește un șir de caractere cu spații în C++Transformarea unei litere mari în literă mică în C++Căutare binară în C++CMMDC recursiv a două numere naturale în C++Vectori de frecvență (de apariții) în C++Câte numere naturale sunt într-un interval dat? (C++)Cifrele unui număr. Prelucrarea cifrelor unui număr în C++Ce înseamnă variabilă globală și locală în C++?Matrice în C++. Declararea și parcurgerea tablourilor bidimensionaleRidicarea la putere în timp logaritmic în C++. Exponențiere rapidăVerifică dacă o literă este mică sau mare în C++Verifică dacă o literă este vocală în C++Suma divizorilor unui număr în C++Șiruri de caractere în C++. Tot ce trebuie să știiCodul ASCII (tabel complet)Funcții în C++. Ce sunt subprogrameleNumărul de divizori al unui număr în C++Afișarea divizorilor primi ai unui număr în C++Afișarea elementelor unui vector recursiv în C++Verificarea unui an bisect în C++Numărul combinărilor în C++ (formula combinărilor)Tipul struct în C++. Ce sunt structurile de date neomogeneVectorii în C++: citire și afișareInstrucțiunea de decizie în C++: if, else, switch, caseMatrice Fibonacci - al n-lea termen Fibonacci în timp logaritmicAflarea sumei primelor N sume GaussTipuri de date în C++: numere întregi, reale, caractere și alteleFactorialul unui număr în C++Verificare număr prim în C++ (Clasa a IX-a)Aria unui triunghi folosind coordonatele acestora în C++Numărul aranjamentelor în C++ (formula aranjamentelor)De ce cer unele probleme răspunsul modulo 666013 sau modulo 1.000.000.007?Instrucțiunea break (structuri repetitive)Pointer în C++. Variabile de tipul char * (char steluță)Bordarea unei matrice în C++Indicatorul lui Euler al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Numărul de divizori al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Verifică dacă un bit de pe o anumită poziție este 1 sau 0 în C++Transformarea unui număr din baza 2 în baza 10 în C++Interclasarea a doi vectori în C++Cel mai mare divizor comun (CMMDC) a două numere în C++Cel mai frecvent element dintr-un șir în C++Interschimbarea a două variabile în C++ (3 metode)Al N-lea termen dintr-o progresie aritmeticăInstrucțiunea for (structuri repetitive)Vectorii în C++: declarare și parcurgereVerifică dacă un număr aparține șirului Fibonacci în C++Radicalul unui număr în C++ (rădăcina pătrată)Suma numerelor naturale dintr-un interval dat în C++Cel mai mic număr cu suma cifrelor N în C++Do while vs while în C++ - Care e diferența?Maximul și minimul a n valori în C++Suma divizorilor numerelor de la 1 la N (Folosind ciurul lui Eratostene)

© Drepturi de autor

Echipa InfoAs își rezervă drepturile de autor pentru conținutul acestei pagini. Copierea conținutului fără acordul scris expres al InfoAs reprezintă o încălcare a Legii 8/1996 și va fi tratată ca atare.

Trimite lecția

Toată lecția

Doar videoclipul pe YouTube

Informatica devine ușoară cu InfoAs

Intră în cont