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

Cerință

Trei colegi de serviciu au primit fiecare câte un număr de task-uri de la șeful lor de echipă și vor să și le împartă în mod egal. Găsește un mod de a le redistribui.

Există cazuri în care nu există o metodă de a atribui toate task-urile celor 3 angajați astfel încât fiecare să aibă, la final, același număr de task-uri. În acest caz, se va găsi o metodă de a elimina un număr minim de task-uri din cele inițiale astfel încât cele rămase să poată fi redistribuite în mod egal.
Date de intrare

Se vor citi de la tastatură 3 numere a, b și c, care reprezintă numărul de task-uri atribuite inițial primului coleg, celui de-al doilea, respectiv celui de-al treilea.
Date de ieșire

Programul va afișa pe ecran numărul X, care reprezintă numărul de task-uri pe care îl are fiecare coleg după împărțirea lor în mod egal, conform cerinței.
Restricții și precizări

0 ≤ a, b, c ≤ 100

Răspunsuri la întrebare

Răspuns de andrei750238
7

COD C++ :

#include <iostream>

using namespace std;

int main(){

//Declarare date

int a, b, c;

 

//Citire date

cin >> a >> b >> c;

 

//Afisare rezultat

cout << (a+b+c)/3;

}

Explicatie :

Se aduna numarele de sarcini care au fost atribuite fiecarui coleg. Apoi se imparte la 3 ca fiecare sa aiba un numar egal cu task-uri. La sfarsit avem numarul de sarcini care revine fiecarui coleg.

Daca suma de numere de sarcini nu e divizibil cu 3 atunci se ia doar partea intreaga a impartirii sumei la 3. Matematic putem spune ca  x=[\frac{a+b+c}{3} ]

In limbajul C++ stim ca impartirea a doua numere intregi (tip int) returneaza un numar intreg care este chiar partea intreaga a catului impartirii. Deci nu e necesar sa realizam alte operatii.

Alte întrebări interesante