С++ ! одноклеточная амёба каждые 3 часа делится на 2 клетки. определить, сколько амёб будет через 3, 6, 9, 12, … t часов. где t кратно 3-ём написать программу с функцией, которая принимает время t и печатает в столбец количество амёб в зависимости от времени
#include <cmath>
using namespace std;
long Amt(int *hours) {
long p=1;
for(int i=0;i<*hours/3;i++) p*=2;
return(p);
}
int main() {
setlocale(LC_ALL, "RUS");
int i,T;
cout<<"Введите предельное количество часов: ";
cin>>T;
for(i=3;i<=T;i+=3)
{cout<<"Время, час "<<i<<", амеб: "<<Amt(&i)<<endl;}
system("PAUSE");
}
Тестовое решение:
Введите предельное количество часов: 60
Время, час: 3, амеб: 2
Время, час: 6, амеб: 4
Время, час: 9, амеб: 8
Время, час: 12, амеб: 16
Время, час: 15, амеб: 32
Время, час: 18, амеб: 64
Время, час: 21, амеб: 128
Время, час: 24, амеб: 256
Время, час: 27, амеб: 512
Время, час: 30, амеб: 1024
Время, час: 33, амеб: 2048
Время, час: 36, амеб: 4096
Время, час: 39, амеб: 8192
Время, час: 42, амеб: 16384
Время, час: 45, амеб: 32768
Время, час: 48, амеб: 65536
Время, час: 51, амеб: 131072
Время, час: 54, амеб: 262144
Время, час: 57, амеб: 524288
Время, час: 60, амеб: 1048576
Для продолжения нажмите любую клавишу . . .