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

Problema 3966 de pe pbinfo


Gigel are 2 bancnote, de a și b lei. El nu a învățat încă adunarea cu transport – cea în care adunarea a două cifre corespunzătoare depășește 10 (de exemplu 11 + 99), ci doar cea simplă, în care adunând cifre corespunzătoare din cele două numere nu se depășește 10 (de exemplu 11 + 22).

Stabiliți dacă Gigel știe să determine câte bomboane va cumpăra cu cele două bancnote, știind că o bomboană costă 1 leu. Dacă Gigel nu reușește să afle numărul de bomboane, va trebui să îl ajutați voi!

Date de intrare
Programul citește de la tastatură numerele a b.

Date de ieșire
Programul va afișa pe ecran un mesaj, în funcție de valorile citite. Vezi exemplele!

Restricții și precizări
1 ≤ a, b ≤ 2.000.000.000

Exemplul 1:
Intrare

11 22
Ieșire

Gigel stie!
Exemplul 2:
Intrare

11 99
Ieșire

Gigel nu stie! El poate cumpara 110 bomboane!

Răspunsuri la întrebare

Răspuns de crow9920
2

Sursă 100p:

#include <iostream>

using namespace std;

int main() {

   long long int a, b;

   cin >> a >> b;

   long long int a2 = a, b2 = b;

   int ok = 1;

   while (a != 0 && b != 0) {

       if ((a % 10 + b % 10) >= 10) {

           ok = 0;

       }

       a = a / 10;

       b = b / 10;

   }

   a = a2, b = b2;

   if (ok) {

       cout << "Gigel stie!";

   } else {

       cout << "Gigel nu stie! El poate cumpara " << a + b << " bomboane!";

   }

   return 0;

}

Alte întrebări interesante