算法—递归实现 C(m,n)
生活随笔
收集整理的這篇文章主要介紹了
算法—递归实现 C(m,n)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/* 遞歸實現 C(m,n) */#include "stdio.h"
int m,n,s,a[20];int main()
{int c(int k);s=0; a[0]=0;scanf("%d%d",&m,&n);printf("\nC(%d,%d)=%d\n",m,n,c(1));}//組合遞歸函數C(k)
int c(int k)
{int i,j;if(k<=n){for(i=a[k-1]+1;i<=m;i++){a[k]=i;if(k==n) //已到n個數時,則打印出一個解{s++;for(j=1;j<=n;j++)printf("%d",a[j]);printf(" ");if(s%10==0) printf("\n");}else c(k+1); //沒有到n個數,則繼續探索下一個數}}return s;
}
總結
以上是生活随笔為你收集整理的算法—递归实现 C(m,n)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法—实现排列 A(n,m)
- 下一篇: 颐和园狗拉雪橇多少钱