Informatică, întrebare adresată de Istefan, 9 ani în urmă

Cerinţa
Se dă un număr natural n și o bază de numerație b. Să se determine cea mai mare cifră a reprezentării lui n în baza b.

Date de intrare
Programul citește de la tastatură două numere naturale n b.

Date de ieşire
Programul afișează pe ecran valoarea cerută.

Restricţii şi precizări
1 ≤ n ≤ 1.000.000.000
2 ≤ b ≤ 10

Exemplu
Intrare

878 6
Ieșire

4
Explicaţie
Reprezentarea lui 878 în baza 6 este 4022, deci cea mai mare cifră este 4.

Răspunsuri la întrebare

Răspuns de blindseeker90
4
#include <iostream>
#include <cmath>
using namespace std;

int main(){
    int i,n,b,length,res=0;
    double a=3,c=4;
    cin>>n>>b;
    int temp=n;
    length=0;
    //determina lungimea numarului in baza b
    //vazand care este cel mai mare exponent
    while(temp>0){
        temp=temp/b;
        length++;   
    }
   
    for(i=0;i<length;i++){
        //catul impartirilor la puterile bazei
        //pornind de la cel mai mare exponent
        //se adauga la numar in formatul bazei
        res=res*10+(n/pow(b,length-1-i));
        n=n%int(pow(b,length-1-i));

       
    }
    cout<<res;
}

Răspuns de AntiEaglesDavids
5
#include <iostream>
using namespace std;

int main()
{
    int n, b, sol = 0, Max = 0;

    cin >> n >> b;
    for(int i = 1; n; i *= 10, n /= b) {
        if((n % b) > Max) Max = n % b;
        sol += i * (n % b);
    }
    cout << Max << '\n';
}


artur99: ti-am mai zis, lol, foloseste 'max', nu 'Max'... E inestetic :)))
AntiEaglesDavids: 'max' devine verde in CodeBlocks ...... deci e si mai inestetic
artur99: 1. verde e mai misto 2. Brainly nu face highlight :))
artur99: Ba, cn a dat report la raspunsul lui Blindseeker90? :))) Eu nu pot sa vad... Uita-te acilea jos :D
Alte întrebări interesante