Să se scrie o funcție C++ recursivă care să returneze cifra maximă a unui număr natural transmis ca parametru.
numele funcției va fi cifmax
funcția va avea un parametru reprezentând numărul dat
numărul pentru care se calculează cifra maximă va fi mai mic decât 2.000.000.000
ex:
cifmax(2050) este 5
important:
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Răspunsuri la întrebare
Răspuns de
1
Da este usor
Cea mai usoara metoda ar fi urmatoarea :
floor(log10(cifmax)) + 1;
doar ca problema cere o functie scrisa de tine deci ai nevoie de asta :
int cifmax(int number) {
return (number >= 10) ? 1 + cifmax(number/10) : 1;
}
Daca nu esti familiar cu sintaxa , structura se traduce usor : daca number > 10 returneaza 1 + cifmax(number/10) altfel returneaza 1
Opa : tu doresti cifra maxima : am citit gresit atunci faci asta :
int cifmax(int number) {
return (number != 0) ? (number%10 > cifmax(number/10) ? number%10 : cifmax(number/10)) : 0;
}
Cea mai usoara metoda ar fi urmatoarea :
floor(log10(cifmax)) + 1;
doar ca problema cere o functie scrisa de tine deci ai nevoie de asta :
int cifmax(int number) {
return (number >= 10) ? 1 + cifmax(number/10) : 1;
}
Daca nu esti familiar cu sintaxa , structura se traduce usor : daca number > 10 returneaza 1 + cifmax(number/10) altfel returneaza 1
Opa : tu doresti cifra maxima : am citit gresit atunci faci asta :
int cifmax(int number) {
return (number != 0) ? (number%10 > cifmax(number/10) ? number%10 : cifmax(number/10)) : 0;
}
magdalena21:
AntiEaglesDavids
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă