Problema #3250 numere_77
Cerința
Se dau două numere naturale a și b. Calculați suma numerelor echilibrate din intervalul [a,b]. Un număr este echilibrat dacă are suma cifrelor pare egală cu suma cifrelor impare. De exemplu 3467 este echilibrat, iar 8333 nu este.
Date de intrare
Programul citește de la tastatură numerele a și b.
Date de ieșire
Programul va afișa pe ecran numărul s, reprezentând suma numerelor echilibrate din intervalul [a,b].
Restricții și precizări
1 ≤ a ≤ b ≤ 1.000.000
Exemplu
Intrare
301 402
Ieșire
2097
Explicație
În intervalul [301, 402] numerele echilibrate sunt 314, 336, 341, 358, 363, 385, iar suma lor este 2097.
Rayzen:
Vrei de 100 de puncte?
Răspunsuri la întrebare
Răspuns de
12
L-am făcut de 100 de puncte.
#include <iostream>
using namespace std;
int main()
{
long int a, b;
cin>>a>>b;
long long int S = 0;
for(long int i = a; i <= b; i++)
{
long int x = i;
long int V = 0;
while(x > 0)
{
if(x%2 == 0) {V += x%10;}
else {V -= x%10;}
x /= 10;
}
if(V == 0) {S = S+i;}
}
cout<<S;
}
Se poate ca suma numerelor echilibrate sa fie mai mare de 2^31
Mersi mult, JustMathIsArt!
Eu am incercat sa pun long long int la toate inainte, si imi iesea tot 80 de puncte.
Nu m-am gandit sa pun doar la S.
Alte întrebări interesante
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă