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:
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! ♡︎♥︎♡︎