64 - это два в шестой степени, следовательно в двоичной записи будет единица и шесть нулей. 16 - это два в четвертой степени, следовательно в двоичной записи будет единица и четыре нуля. 1 - это два в нулевой степени, следовательно в двоичной записи будет единица и "ноль" нулей. Сложение производится поразрядно. И если сначала было шесть нулей, то один из них (в пятом разряде) заменится на единицу из числа 16, а еще один (в первом разряде) - на единицу из числа 1. Итого останется четыре нуля. ответ: четыре нуля.
16 - это два в четвертой степени, следовательно в двоичной записи будет единица и четыре нуля.
1 - это два в нулевой степени, следовательно в двоичной записи будет единица и "ноль" нулей.
Сложение производится поразрядно. И если сначала было шесть нулей, то один из них (в пятом разряде) заменится на единицу из числа 16, а еще один (в первом разряде) - на единицу из числа 1. Итого останется четыре нуля.
ответ: четыре нуля.
#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
Для продолжения нажмите любую клавишу . . .