С++ ! одноклеточная амёба каждые 3 часа делится на 2 клетки. определить, сколько амёб будет через 3, 6, 9, 12, … t часов. где t кратно 3-ём написать программу с функцией, которая принимает время t и печатает в столбец количество амёб в зависимости от времени

bagfaver bagfaver    1   28.06.2019 22:30    5

Ответы
Vladijad Vladijad  22.07.2020 23:01
#include <iostream>
#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
Для продолжения нажмите любую клавишу . . .
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика