👤

pentru a o elibera pe Ileana contanzeana făt frumos trebuie sa parcurgă x kilometri el merge zilnic A kilometri dar zâna cea rea îl duce fiecare noapte b kilometri după câte zile o eliberează​

Răspuns :

Rezolvarea in C++

#include <iostream>

using namespace std;

int main() {

   int x, a, b, km = 0, zile = 0;

   cout << "Introdu numarul de kilometri: ";

   cin >> x;

   cout << "Introdu numarul de kilometri parcursi de Fat Frumos intr-o zi: ";

   cin >> a;

   cout << "Introdu numarul de kilometri cu care il da in spate zana cea rea: ";

   cin >> b;

   while (km < x) {

       km += a;

       zile++;

       if (km >= x) {

           break;

       }

       km -= b;

   }

   cout << zile;

   return 0;

}

Explicatie

  • Dupa citirea datelor, vom avea un while loop care merge pana cand km este mai mare sau egal cu x.
  • Dupa ce incrementam numarul de km parcursi cu a, vom incrementa numarul de zile, iar apoi vom verifica daca Fat Frumos a ajuns la destinatie.
  • Daca a ajuns, atunci vom inceta while loop-ul, deoarece a ajuns la destinatie, iar zana cea rea nu il poate trage inapoi noaptea.
  • Daca nu, atunci zana cea rea la va trage inapoi noaptea, adica km - b si vom repeta acest proces pana cand ajungem la destinatie.
  • In final afisam numarul de zile calculate.

citeste x

citeste a

citeste b

zi ← 1

parcurs ← 0

┌cat timp parcurs + a < x executa

│    parcurs ← parcurs + a - b

│    zi ← zi + 1

└■

scrie zi

=======================

Ne oprim daca lungimea parcursa pana in prezent (parcurs) adunat cu lungimea parcursa in ziua respectiva (a) e mai mare sau egala cu lungimea totala a drumului (x).

Exemplu:

Daca x=4, a=3, b=2 atunci raspunsul ar trebui sa fie 2 (prima zi se duce la 3 km, se intoarce noaptea la 1 km, a doua zi ajunge la 4 km - deci ajunge la Ileana)

Data viitoare precizeaza limbajul de programare