C++ 嵌套 for 循环,用于设置基数/指数的指数

Posted

技术标签:

【中文标题】C++ 嵌套 for 循环,用于设置基数/指数的指数【英文标题】:C++ Nested for loop for exponents with set base/exponent 【发布时间】:2016-10-30 22:03:16 【问题描述】:

所以我需要一些帮助。我想打印出 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;

【问题讨论】:

【参考方案1】:

使用&lt;&lt; 运算符会更简单。

由于 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;

【讨论】:

谢谢你,这工作得很好。但是,我想问一下 是左移运算符,查一下。您可以简单地将其替换为“c=c*2”。同样的事情。

以上是关于C++ 嵌套 for 循环,用于设置基数/指数的指数的主要内容,如果未能解决你的问题,请参考以下文章

如何使用循环来查找产生参数的基数的指数

如何在 C++ 中展开嵌套的 for 循环?

C++ 基数排序算法

少儿编程C++第一季——18for循环的嵌套:这么玩

Javascript:当幂等于 0 时,用于解决指数问题的 While 循环出现错误

c++两个嵌套的for循环使用continue?