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
.
#include <bits/stdc++.h> using namespace std; long long int s; bool echi(int n){ int sp = 0, si = 0; while(n){ if(n % 2 == 0) sp += n % 10; else si += n % 10; n/=10; } return sp == si; } int main(){ int a, b; cin >> a >> b; for(int i = a; i <= b; ++i) if(echi(i)) s += i; cout << s; return 0; }