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

Care e problema la urmatorul cod pentru problema 2223 de pe pbinfo..o scurta explicatie a problemei: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.
ex: 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.


#include


using namespace std;


int main()

{

long long n,contor=0,sumacifre=0,nrcifre=0,numar=0;

cin>>n;

do{

sumacifre+=n%10;

n=n/10;

}

while(n>0);

nrcifre=sumacifre;

do{

if(numar%10==9){

numar=numar*10+1;

nrcifre--;

contor++;

}

else

numar++;

sumacifre--;

}

while(sumacifre>0);

for(int i=1;i 0)

contor--;

else

numar=numar*10;

}

cout<
return 0;

}

Răspunsuri la întrebare

Răspuns de ana427257
11

Răspuns:

Salut!:))

Uite rezolvarea pentru problema ta:

(am facut o functie care sa iti calculeze suma cifrelor unui numar deasupra a ce este in main)

#include <bits/stdc++.h>

using namespace std;

int Sum(int n)

{

   int s=0;

   while (n>0)

   {

       s=s+n%10;

       n=n/10;

   }

   return s;

}

int main()

{

   int i,n,c=0,ct=0,r;

   cin>>n;

   if (Sum(n)<10)

   {

       cout<<Sum(n);

       c=Sum(n)-1;

       while (c>0)

       {

          cout<<"0";

          c--;

       }

   }

   else

   {

       c=Sum(n)/9;

       r=Sum(n)%9;

       ct=Sum(n)-c-1;

       while (c>0)

       {

           cout<<"9";

           c--;

       }

       cout<<r;

       while (ct>0)

       {

           cout<<"0";

           ct--;

       }

   }

   return 0;

}

Sper ca te ajuta.

Succes! ♡︎♥︎♡︎

Alte întrebări interesante