21、2010年中兴面试题
生活随笔
收集整理的這篇文章主要介紹了
21、2010年中兴面试题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
編程求解:
輸入兩個(gè)整數(shù) n 和 m,從數(shù)列1,2,3.......n 中 隨意取幾個(gè)數(shù),
輸入兩個(gè)整數(shù) n 和 m,從數(shù)列1,2,3.......n 中 隨意取幾個(gè)數(shù),
使其和等于 m ,要求將其中所有的可能組合列出來(lái).
分析:遞歸法
思路:
1.首先判斷,如果n>m,則n中大于m的數(shù)不可能參與組合,此時(shí)置n = m;
2.n=m,n本身符合條件,輸出;
3.n<m,將n分兩種情況求解,(1)n沒(méi)有加入,取n = n - 1; m = m;遞歸下去;(2)n加入,取n = n - 1, m = m - n,遞歸下去
給出代碼:
#include <stdio.h>int result[100]; void BagProblem(int n,int m,int index);int main() {int n,m;while (printf("Please input n and m: "),scanf("%d%d",&n,&m)!=EOF){BagProblem(n,m,0);printf("\n");}return 0; }void BagProblem(int n,int m,int index) {int i;if (n<1||m<1){return ;}if (n>m){n=m;}if (n==m){printf("%d ",n);for (i=0;i<index;i++){printf("%d ",result[i]);}printf("\n");}result[index++]=n;BagProblem(n-1,m-n,index);index--;BagProblem(n-1,m,index); }
總結(jié)
以上是生活随笔為你收集整理的21、2010年中兴面试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 多元统计分析基于r课后答案_应用多元统计
- 下一篇: 窗口与句柄