Поэтому мне нужна помощь с этим. Я хочу распечатать все целые числа от 2 до 2 ^ 20, которые являются целыми степенями 2. Я понял, что мне нужно увеличивать мощность на 1 каждый раз, но я не могу понять, что происходит внутри внутреннего цикла for , Я не могу использовать функцию pow ()
c = 2;
cout << "\nPROBLEM C" << endl;
for (int powerC = 1; powerC <= 20; powerC++) // powerC is exponent
{
cout << setw(5) << powerC << " ";
counterC++;
for (int x = 1; x <= 20; x++) // where I am having trouble with
{
c = (c*powerC);
cout << setw(5) << c;
} // end inner for loop
if (counterC % 8 == 0)
{
cout << endl;
}
}
cout << "\nNumber of numbers = " << counterC;
Это намного проще, используя <<
оператор.
Поскольку 2 равно 2 ^ 1, вы хотите вывести все целые числа от 2 ^ 1 до 2 ^ 20 включительно или 20 чисел:
int c = 2;
for (int i=0; i<20; i++)
{
std::cout << c << std::endl;
c <<= 1;
}
Других решений пока нет …