2023年中興面試題

2021-07-10 16:26:55 字數 571 閱讀 2808

輸入兩個整數n和m,從數列1、2、3…….n中隨意取幾個數,使其和等於m,要求將其中所有的可能組合列出來。

answer:第一眼反應就是dfs,其中需要考慮的問題是去除重複的組合,其他沒什麼難度,簡單的dfs

#include 

#include

#include

#include

#include

#include

using

namespace

std;

#define m 10000

int flag[m]; //標記已經使用的數

int num[m]; //存1~n

int m,n;

void show() //輸出

printf("\n");

}void dfs(int po)

if(m < 0)

return;

for(int i = po; i <= n; i++)

}}int main()

21 2023年中興面試題

程式設計求解 輸入兩個整數 n 和 m,從數列1,2,3.n 中 隨意取幾個數,使其和等於 m 要求將其中所有的可能組合列出來.分析 遞迴法 思路 1.首先判斷,如果n m,則n中大於m的數不可能參與組合,此時置n m 2.n m,n本身符合條件,輸出 3.n 給出 include int resu...

15 2010 年中興面試題

題目 程式設計求解 輸入兩個整數n 和m,從數列1,2,3.n 中隨意取幾個數,使其和等於m 要求將其中所有的可能組合列出來.分析 一開始的時候我沒看清楚是從數列1,2,3,n中取數,所以就想用揹包去求解此題,但是如果用揹包的話就要記錄路徑,有點麻煩,後來看清楚題意之後就發現比較水了,直接搜尋求解即...

2023年中興面試題 01揹包問題演算法

題目 程式設計求解 輸入兩個整數 n 和 m,從數列1,2,3.n 中 隨意取幾個數,使其和等於 m 要求將其中所有的可能組合列出來。程式 include include using namespace std void qiujie int sum,int n else int main int ...