Дан целочисленный массив с количеством элементов n. Напечатать те его элементы, индексы которых являются степенями двойки(1,2,4,8,16,..)
Помогите решить в С++, пожалуйста
#include
#include
#include
int main()
{
using namespace std;
const int n = 10; //количество элементов массива
int Arr[n];
//как-нибудь заполняем массив
srand(time(0));
int i;
for (i = 0; i < n; ++i)
Arr[i] = rand() % (n * n) + 1;
//выведем его на экран
for (i = 0; i < n; ++i)
cout << Arr[i] << " ";
cout << endl;
int p;
for (i = 1; i < n; ++i)
{
p = i;
while (p % 2 == 0)
p /= 2;
if (p == 1)
cout << "Arr[" << i << "] = " << Arr[i] << endl;
}
cout << endl;
return 0;
}
Оцени ответ