Informatică, întrebare adresată de mbria8260, 8 ani în urmă

Gigel, Cornel și Tibi sunt 3 amici care fac un traseu montan spre Vârful Toaca. Pentru a ajunge în vârf trebuie să urce o scară foarte lungă. Fiind obosiți, aceștia se hotărăsc să ia o pauză. Câte trepte libere sunt între cei trei când se opresc? Date de intrare Se citesc de la tastatură 3 valori întregi, a, b și c, corespunzătoare treptelor pe care se opresc cei 3 prieteni. Date de ieșire Programul va afișa pe ecran numărul X care reprezintă numărul de trepte libere dintre cei 3 prieteni. Restricții și precizări 0 < a, b, c < 1 000 numerele sunt date într-o ordine oarecare, nu fac neapărat parte dintr-un șir crescător sau descrescător

Exemple
Date de intrare
10 7 12
Date de ieșire
3.

Răspunsuri la întrebare

Răspuns de Sergetec
2

Salut!

O metoda de rezolvare este prin sortare, iar apoi calculare

Rezolvare in C++

#include <iostream>

using namespace std;

int main()

{

 int a, b, c;

 cin >> a >> b >> c;

 //Sortare in ordine crescatoare

 if (a > b)

 {

   int aux = a;

   a = b;

   b = aux;

 }

 if (b > c)

 {

   int aux = b;

   b = c;

   c = aux;

 }

 if (a > b)

 {

   int aux = a;

   a = b;

   b = aux;

 }

 cout << (b - a - 1) + (c - b - 1);

 return 0;

}

Explicatie:

  • Sortam in ordine crescatoare numerele a, b si c
  • Calculam treptele dintre primii a si b, apoi treptele dintre b si c si le adunam

De ce -1?

  • Deoarece treapta pe care sta primul nu se ia in considerare

10 - 7 = 3 - 1 = 2 trepte libere intre cei 2 prieteni

Ti-am lasat mai jos un desen reprezentativ

x = ocupat

o = liber

Anexe:
Alte întrebări interesante