递归算法之类循环组合排列

来源:互联网 发布:excel2003无法粘贴数据 编辑:程序博客网 时间:2024/06/06 00:29

输入:

给定数据,输入n,m.分别代表位数,可能取到的值。

输出:

输出所有可能的数字。

样例输入:

4 2

样例输出:

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

题目分析:

这是一种典型的递归算法-------类递归组合排列。

代码如下:

<span style="font-size:14px;">#include<stdio.h>int n,m,i;int a[11];void solve(int l){if(l>=n)//自身递归跳出条件。 {for(i=0;i<n;i++)printf("%d",a[i]);puts("");return;}for(i=0;i<m;i++)a[l]=i;//用a[l]来存储可能区间的值 solve(l+1);//每次都能向前进一步 }int main(){while(~scanf("%d%d",&n,&m))solve(0);return 0;}</span>

0 0
原创粉丝点击