cifre004
Cerința
Se dă n număr natural. Aflaţi cel mai mare număr natural care are numărul de cifre şi suma cifrelor egale cu suma cifrelor lui n.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran cel mai mare număr natural care are numărul de cifre şi suma cifrelor egale cu suma cifrelor lui n.
Restricții și precizări
1 ≤ n ≤ 2.000.000.000
Exemplu
Intrare
203
Ieșire
50000
Explicație
Avem n=203, iar suma cifrelor sale este 5. Cel mai mare număr de 5 cifre, care are suma cifrelor egală cu 5, este 50000.
Răspunsuri la întrebare
Răspuns de
9
ti-am facut o rezolvare dar atentie ca suma cifrelor sa nu depaseasca 19 pentru ca nu se pot reprezenta mai mult de 19 cifre(limitarea maxim a tipului unsigned long long).
Problema se poate face si sa afisezi cifra cu cifra acel numar doar daca memorezi fiecare cifra intr-un vector si atunci nu mai ai probleme de genu.
#include <iostream>
using namespace std;
int main() {
long n;
cout<<"n=";
cin>>n;
int s=0;
while(n!=0)
{
s+=n%10;
n = n/10;
}
unsigned long long numar=0;
int nr_9 = s/9;
int rest = s % 9;
for(int i=0; i<nr_9; i++)
numar=numar*10+9;
numar=numar*10+rest;
for(int i=0; i<s-nr_9-1; i++)
numar*=10;
cout<<numar;
return 0 ;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă