👤


Unei paciente i se face o injectie cu penicilina, doza fiind de M grame. Corpul uman absoarbe treptat medicamentul(penicilina) astfel incit dupa o ora in singele pacientei ramine activ 50% din doza initiala. Acest proces continua, adica la sfirsitul fiecarei ore urmatoare ramine activa numai 50% din doza de penicilina, care era prezentata la sfirsitul orei precedente.

CERINTA : scrieti un program C++, care cunoscind doza M initiala de penicilina, sa determine cita penicilina a ramas activa in singele pacientei, dupa expirarea a T ore din momentul administrarii dozei initiale de penicilina.


Răspuns :

#include <iostream>
using namespace std;

int main(){
    int M, T, i;
    cin>>M;
    cin>>T;
    for(i=0;i<T;i++){
        M = M / 2;
    }
    cout<<M;
}
nu cred ca e nevoie de tot programul, dar iti explic ideea
daca avem 100 g
atunci peste o ora va ramane 100/2 = 50 grame
peste 2 ore 50/2 sau 100/4 = 25
peste 3 ore 25/2 sau 50/4 sau 100/8
observam ca fiecare rezultat se poate de scris ca 100/2^t, adica prima ora impartim la 2, a doua ora impartim la 2^2, a 3-a ora avem 100 / 2^3