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ăspunsuri la întrebare
Răspuns de
1
#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;
}
using namespace std;
int main(){
int M, T, i;
cin>>M;
cin>>T;
for(i=0;i<T;i++){
M = M / 2;
}
cout<<M;
}
Răspuns de
1
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
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
chiseugen:
dar primitiv ar fi cu ciclu
#include <iostream>
using namespace std;
int main() {
int M, T;
cin >> M;
cin >> T;
cout << M / pow(2, T) << endl;
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă