使用" For Loop"按以下顺序显示数字

时间:2017-09-08 04:38:27

标签: c++ for-loop

使用" For Loop"显示以下输出的程序: 2 4 8 16 32 64 128 256 512 1024

  #include <iostream>

using namespace std;

int main()
{
    int n ;
    for(n=1;n<=2048;n++){
      n=n*2;
    cout<<"\t"<<n<<endl;
    }
    return 0;

]

3 个答案:

答案 0 :(得分:0)

由于for循环中的n++n每次迭代都会递增。此外,它在每次迭代开始时乘以2。您需要做的是更改for循环中的increment语句以转换n您想要的方式:

for (n = 2; n <= 1024; n *= 2) {
    cout << "\t" << n << endl;
}

或使用单独的循环变量来执行一定数量的迭代:

int n = 1;
for (int i = 0; i < 10; i++) {
    n *= 2;
    cout << "\t" << n << endl;
}

答案 1 :(得分:0)

使用c ++的pow函数

#include <math.h>
int s=1;
for(i=1;i<=5;i++)
{
  s=Math.pow(2, i);
  cout<<s<<"\n";
}

还包括数学标题库

答案 2 :(得分:0)

正如jcarpenter指出的那样,除了n(可以写成for BTW)之外,你的n=n*2循环中的错误正在增加n *= 2。所以我削减了增量并将双重操作移到了循环头。幸运的是,将数字与2相乘可以通过移位操作非常有效地实现。这就是我建议的代码:

#include <iostream>

int main(void)
{
    for(int n = 2; n <= 1024; n <<= 1)
    {
        std::cout << n << std::endl;
    }
}