se citeste de la tastatura un nr n cu maxim cinci cifre. afisati cel mai apropiat nr mai mic dect n care are aceeasi suma a cifrelor
KindaBored:
Pe ce clasa esti? Sunt 2 metode, una matematica (foarte usoara) si una la care trebuie sa scrii mai mult.
Răspunsuri la întrebare
Răspuns de
1
- Metoda cea lunga, merge doar ca dureaza mult.
#include <iostream>
using namespace std;
int n,aux,i, sc,sc2;
int main()
{
cin>>n;
aux=n;
while (aux)
{
sc=sc + aux%10;
aux=aux/10;
}
for (i=n-1;i>0 && ! sc2;i--)
{
aux=i;
while (aux)
{
sc2=sc2+aux%10;
aux=aux/10;
}
if (sc2==sc)
cout<<i;
else
sc2=0;
}
if (i==0 && sc2==0)
cout<<"Nu exista.";
}
Metoda scurta, folosind matematica:
#include <iostream>
using namespace std;
int n;
int main()
{
cin>>n;
if (n<=9)
cout<<"Nu exista.";
else
cout<<n-9;
}
#include <iostream>
using namespace std;
int n,aux,i, sc,sc2;
int main()
{
cin>>n;
aux=n;
while (aux)
{
sc=sc + aux%10;
aux=aux/10;
}
for (i=n-1;i>0 && ! sc2;i--)
{
aux=i;
while (aux)
{
sc2=sc2+aux%10;
aux=aux/10;
}
if (sc2==sc)
cout<<i;
else
sc2=0;
}
if (i==0 && sc2==0)
cout<<"Nu exista.";
}
Metoda scurta, folosind matematica:
#include <iostream>
using namespace std;
int n;
int main()
{
cin>>n;
if (n<=9)
cout<<"Nu exista.";
else
cout<<n-9;
}
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă