当前位置: 首页 > 知识库问答 >
问题:

嵌套循环,循环次数为2次方

樊熠彤
2023-03-14

我需要以这样的方式使用两个循环:外循环驱动内循环进行2、4、8、16和32次迭代的计算。

例如,如果i=2(对于外循环),则内循环将迭代4次

如果i=3,则内部循环将迭代8次,依此类推。

这就是我使用的逻辑

for ( i = 0 ; i < n ; i++ ) 
     {
         for ( c = 0 ; c <= pow(2,i) ; c=c++ )   

如果有任何建议,我将不胜感激

共有3个答案

罗韬
2023-03-14

你需要像其他人建议的那样使用:

for (int i=0 ; i<n ; i++){
    for(int c=0 ; c < (1<<i) ; c++++){
        //do computations
    }
}

使用

你想使用bitshift操作的原因1

最后,您想使用c,因为c增加了c,但返回了原始值,因此您的内部for循环始终保持原始值而从不增加。

云星波
2023-03-14

你可以利用这样一个事实来计算C中的二次幂,你可以使用一个位左移:

for ( i = 0 ; i < n ; i++ ) {
    for ( c = 0 ; c < (1 << i) ; c++ ) {
        ...
    }
}

这种“魔力”背后的原因与十进制数右边加个零乘以十的原因是一样的。

请注意,由于内部循环的迭代从零开始,因此需要使用

张瀚漠
2023-03-14

>

不要使用pow(2,i)。使用更可靠的1

不要使用c=c。只需使用c。我不确定c=c是否保证c=c1

for ( i = 0 ; i < n ; i++ ) 
{
   int nextCount = (1 << i);
   for ( c = 0 ; c <= nextCount ; c++ ) 

 类似资料:
  • 我对python中双for循环的使用感到困惑,这是我的代码: 输出如下: 它只对外循环的第一个值执行内循环,为什么会发生这种情况?我怎样才能让它在第一个和第二个变量的所有组合上循环?

  • Python 不仅支持 if 语句相互嵌套,while 和 for 循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里面还有 while,甚至 while 中有 for 或者 for 中有 while 也都是允许的。 当 2 个(甚至多个)循环结构相互嵌套时,位于外层的循环结构常简称为 外层循环或 外循环,位于内层的循环结构常简

  • 这是我的代码。我遇到的问题是,我希望将HP在我的PHP代码中的数字转换为我的HP HTML代码,以及与Cylinder相同的内容。我已经想好了其他的东西,但说到这一部分我就卡住了

  • 本文向大家介绍MATLAB嵌套循环,包括了MATLAB嵌套循环的使用技巧和注意事项,需要的朋友参考一下 示例 可以嵌套循环,以在另一个迭代任务中执行迭代任务。考虑以下循环: 我们使用2个迭代器来显示abc和中元素的所有组合1:m,从而得出: 我们还可以使用嵌套循环来组合每次要完成的任务和几次迭代中要完成的任务: 这里我们要计算所有的斐波那契数列,但是n每次只显示第一个元素,所以我们得到 我们可以做

  • 嵌套循环就是在一个循环中还有一个循环,内部循环在外部循环体中.在外部循环的每次执行过程中都会触发内部循环,直到内部循环执行结束.外部循环执行了多少次,内部循环就完成多少次.当然,不论是外部循环或内部循环的break语句都会打断处理过程. 例子 10-19. 嵌套循环 1 #!/bin/bash 2 # nested-loop.sh: 嵌套的"for" 循环. 3 4 out

  • 3.4.4 嵌套循环 为了实现复杂的算法,控制结构可以相互嵌套,即一个控制结构处于另一个控制结构的 内部。前面我们见过 if 结构的嵌套,现在我们讨论循环的嵌套。 先考虑“一维”数据结构——由简单数据值构成的列表,为了遍历列表以处理其中数据, 我们需要一个循环。例如用一个循环来计算列表中所有数据之和: >>> a = [1,2,3,4,5] >>> sum = 0 >>> for i in a: