`
bachelor007
  • 浏览: 55970 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

动态控制循环层数

阅读更多

动态控制循环层数
如:函数  cycle(int t)
public void cycle(int t)
{
 for(int i=1;i<4;i++)
 {
  for(int j=i+1;j<4;j++)
  {
   for(int k=j+1;k<4;k++)
   {
    ....含t层for循环
   }
  }
 }

}

public class CycleTest {

	public static int count = 0;
	
	public static void main(String[] args) {
		
		dymaticCyc(3);
		System.out.println("count:   "+ count);
	}
	
	public static void dymaticCyc(int num)
	{
		if(num > 0)
		{
			for(int i=1; i<=4; i++)
			{
				if(num == 1)
				{
					System.out.println("i:   " + i);
					count++;
				}
				dymaticCyc(num-1);
			}
		}
	}

}

 接下去是排列组合的算法:

public class CycleTest1 {

	public static int count = 0;
	
	public static void main(String[] args) {
		//dymaticCyc(3,0,5);		
		//System.out.println("count:   "+ count);
		comb(5, 3,new int[60],0);
		//System.out.println("count:   "+ count1);
	}
	
	public static void comb(int n, int m, int buff[],int count1)
	{
		if(m == 0)//递归结束,输出
		{
			for(int i=0; i<count1; i++)
			{
				System.out.print(buff[i]);
			}
			System.out.println();
			return;
		}
		for(int i=0; i<=n-m; i++)
		{
			buff[count1++] = n-i;
			comb(n-i-1, m-1, buff,count1);
			--count1;
		}
	}
	
	public static void dymaticCyc(int num,int m,int sum)
	{
		//从sum个数中选num个数
		//dymaticCyc(2,0);此方法调用,m得从0开始
		if(num > 0)
		{
			for(int i=1+m; i<=sum; i++)
			{		
				dymaticCyc(num-1,i,sum);
				if(num == 1)
				{
					System.out.println("  m:   " +m+ "   i:   " + i);
					count++;
				}
			}
		}
	}
}

 
 

分享到:
评论
1 楼 azhhuoiu 2015-05-14  
你好牛逼啊,写这么牛逼的程序

相关推荐

    数字金字塔,双层循环的 c#版

    j++) // 内层循环控制每行的字符数 { if (j (a - i)) // 控制打印空格的数量 Console.Write(" "); else { if (k &gt;= 1) { if (j &gt;= a) // 控制数字的方向变化 { temp = 1; } else temp = 0; if (temp...

    1.5 编程基础之循环控制 python版.rar

    通常,外层循环控制行数,内层循环控制每行中的字符数,以打印出星号(*)或其他字符构成的矩形。 2. **角谷猜想**(1.5编程基础之循环控制 21 角谷猜想.py):角谷猜想是一种数学上的数列游戏,涉及判断一个正整数...

    基于msp430的动态数码管循环显示

    2. **延迟函数**:为了实现动态显示效果,程序中定义了一个简单的延迟函数`_delay()`,通过嵌套两层循环来模拟延时,确保每个数字有足够的显示时间。 3. **主循环**:程序的核心部分是一个无限循环,在这个循环中...

    彩灯循环显示控制器实验报告.docx

    实验中,每种状态持续4秒,整个循环需要12秒,因此需要一个12进制的计数器来控制循环。 提高实验则将4路扩展至8路,增加了电路的复杂性,但基本原理不变,仍然是通过调整74LS194的状态来控制彩灯的亮灭顺序。而在...

    PHP程序设计-3期(KC016) 2.6.8循环控制6双重循环课后习题.doc

    $j--) { // 内层循环控制空格数 echo " "; } for ($k = 1; $k * $i - 1; $k++) { // 内层循环控制星号数 echo "*"; } echo "\n"; // 换行 } ``` 此代码首先用外层循环控制金字塔的行数,然后通过内层循环打印...

    易语言跳出循环命令例程

    易语言中的“强制退出循环”命令,英文名为“强制退出循环”,该命令立即终止当前正在执行的最内层循环,不论循环条件是否满足,都不会再执行剩余的循环体代码。这个命令通常用在循环条件复杂,需要在某个特定条件...

    C语言第六章循环控制课件

    `break`语句用于立即退出最内层循环,而`continue`语句则跳过当前循环迭代的剩余部分,继续下一次迭代。 在实际编程中,循环结构的应用广泛,如查找、排序、计数等。正确设置循环控制条件,确保循环能够按照预期...

    VB控制结构多重循环.ppt

    例如,`For I = 1 to 5 Step 1` 和 `For J = 1 to 3 Step 1` 定义了两层循环,外层循环I控制整个过程的迭代次数,而内层循环J在每次外层循环执行时都会完整执行一次。这意味着内循环的总执行次数等于外循环次数乘...

    循环结构程序设计

    9*9乘法表的实现可以利用两个嵌套循环,外层循环控制行数,内层循环控制列数,两者的乘积就是表格中的数值。每个乘积在输出时应按照适当的格式对齐,以便形成整洁的表格。 对于简单的注册登录功能,我们可以使用...

    Oracle PLSQL存储过程循环LOOP跳处循环、退出循环、终止循环流程详解与实战指南

    1、全面覆盖:本资源涵盖了退出当前循环并结束整个循环、结束循环、跳过当前循环、终止循环等多种控制策略,确保满足不同场景下的需求。 2、函数示例:提供具体的函数代码和详细注释,让您不仅能理解每种控制策略的...

    C++一层循环实现排序

    - **外层循环**:通过 `while` 循环控制整个排序过程。 - 当 `end_pos` 大于等于0时,继续执行排序。 - **内层逻辑**:在 `if (index )` 的条件下,执行单次比较和交换操作。 - 如果当前元素 `a[index]` 大于...

    1.5编程基础之循环控制_44第n小的质数(2019.09.11).pdf

    对于青少年趣味编程ACM CSP-J来说,这样的编程练习能够帮助他们理解循环控制的基本概念,如循环的必要性、如何使用break语句跳出循环、如何用循环变量控制循环次数等。此外,这样的编程练习也能够提高青少年分析问题...

    循环嵌套案例.rar

    1. 控制循环次数:确保内外层循环的迭代次数合适,避免无限循环或不必要的计算。 2. 理解嵌套关系:理解每层循环的执行顺序和相互依赖关系,避免逻辑错误。 3. 优化性能:循环嵌套可能导致计算量增大,注意优化...

    C语言程序设计-循环控制.pdf

    在阅读过程中,初学者可能会对循环控制语句的使用细节有困惑,需要重点学习循环条件的设置、循环体的编写以及如何合理利用break和continue来控制循环的执行流程。 为了帮助初学者快速掌握循环控制,可以采用实例...

    在嵌套循环中的死循环问题

    - 可以考虑使用`for`循环代替`while`循环,利用`for`循环的初始化、条件判断和迭代三部分更清晰地控制循环过程。 - 示例代码如下: ```c for (int j = 10; j &gt; 0; j--) { for (int k = 10; k &gt; 0; k--) { ...

    C#循环案例

    这个示例代码使用了两个for循环,外层循环控制行数,内层循环控制列数。通过这种嵌套循环,可以生成九九乘法表的输出结果。 二、土字图案 下面是一个使用for循环生成土字图案的示例代码: ```csharp for (int i = 0...

    Python程序设计:while循环.pptx

    比如,如果我们需要打印特定范围内的乘法表,可以使用外层循环控制行数,内层循环控制每行的乘法运算。 ### 死循环 死循环是指循环条件始终为`True`的情况,通常需要通过`break`语句来手动中断。例如: ```python ...

    循环_MATLAB循环实例_

    本文将深入探讨MATLAB中的两种主要循环类型:while循环和for循环,以及如何使用break和continue语句来灵活控制循环流程。 首先,让我们来看看while循环。在MATLAB中,while循环基于一个条件来决定是否继续执行循环...

Global site tag (gtag.js) - Google Analytics