Предмет: Информатика, автор: Pika4yshka

Вывести на экран все числа заданной последовательности, индексы которых есть степени двойки. Определить в заданной последовательности целых
чисел количество чисел, которые являются степенью двойки.

Нужно исправить этот код. Проблема в степени 2.

#include

using namespace std;

int main()
{
int array[100];
int i, size,n;

cout << "Enter size: ";
cin >> size;

for (i = 0; i < size; i++ )
{
cout << "array[" << i + 1 << "]=";
cin >> array[i];
}

for (i = 0; i < size ; i++)
if (i && (i - 1) == 0)
cout << "\nchislo: " << array[i] << endl;

return 0;
}

Ответы

Автор ответа: biLOLbi
1

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

   int array[100];

   int i, size, n, count = 0;

   cout << "Enter size: ";

   cin >> size;

   for (i = 0; i < size; i++)

   {

       cout << "array[" << i + 1 << "]=";

       cin >> array[i];

   }

   for (i = 0; i < size; i++)

   {

       n = log2(i + 1);

       if (pow(2, n) == (i + 1))

       {

           cout << "\nЧисло: " << array[i] << endl;

           count++;

       }

   }

   cout << "Количество целых чисел с степенью двойки: " << count << endl;

   return 0;

}

Похожие вопросы