Dacă x și y sunt două numere naturale cu x ≤ y, atunci notăm cu s(x,y) suma numerelor naturale cuprinse între x și y. De exemplu, s(3,6) = 3+4+5+6 = 18, iar s(7,7) = 7.
Se dau numerele naturale a, b și c, unde a ≤ b ≤ c. Calculați s(a,b), s(b,c) și s(a,c).
C++
Clasa a IX-a
Repede va rog!
Răspunsuri la întrebare
Răspuns:
#include <iostream>
static void calculeazaSiAfiseaza(int a, int b)
{
int sumaNumere{};
std::cout << "s(" << a << "," << b << ") = ";
for (int i = a; i <= b; i++)
{
(i == b) ? std::cout << i : std::cout << i << " + ";
sumaNumere += i;
}
std::cout << " = " << sumaNumere << std::endl;
}
static void calculeazaSumele(int a, int b, int c)
{
calculeazaSiAfiseaza(a, b);
calculeazaSiAfiseaza(b, c);
calculeazaSiAfiseaza(a, c);
}
int main()
{
int a{}, b{}, c{};
std::cout << "Introdu a, b si c (de ex. 3 6 7) >> ";
std::cin >> a >> b >> c;
(a > b || b > c || a > c)
? exit(EXIT_FAILURE)
: calculeazaSumele(a, b, c);
return 0;
}
Explicație:
Citești cele 3 numere, verifici dacă condiția a ≤ b ≤ c. Dacă condiția e adevărată pentru cele trei numere treci mai departe altfel ieși din program. calculeazaSumele(...) o să apeleze calculeazaSiAfizeaza(...) care efectiv îți afișează frumos suma celor 2 numere ( de la primul la al doilea inclusiv ).