這篇主要參考了:
感覺dfs真正應用起來還是有點困難
描述:問題很簡單,給你ñ個正整數,求出這ñ個正整數中所有任選ķ個相乘後的和。
輸入:輸入有兩行,第一行是兩個整數ñ和k,其中1 <= k <= n <= 10。接下去一行就是ñ個正整數,保證最後結果用長即可儲存。
輸出:輸出只有乙個正整數,為最後的和。
示例輸入:
4 21 2 3 4
示例輸出:
35**:
//
// main.cpp
// dfs(n個數中k個數成績的和)
////由2018/4/9的showlo建立。
//的#include 的
的#include <:字串》
int n,k;
長長和= 0;
int a [15],vis [15];
void dfs(int i,int cnt,int sm)//我為陣列元素下標,cnt為數字個數,sm為cnt個數字的積
如果(i> = n)
返回;如果(!可見[1])
返回;}
int main(void)
N個數中找出最大的K個數
題目描述 有很多個 n個 無序的數,我們姑且假定它們各不相等,怎麼選出其中最大的若干個 k個 數呢?1.n 100,k 10的時候怎麼處理?2.n 1000,k 100呢?3.n 1億億個,k 100呢?如果這些數是整數的話,怎麼處理?如果是浮點數呢?如果這些數是整數,並且存在上界呢?如果將題目中的...
100w個數中找出最大的k個數
1.思路1 我們應該首先想到是先將100w個數排序,暫且不考慮效率問題,可是記憶體中能放得下嗎?2.思路2 堆排序,先從中去k個數進行堆排,然後乙個乙個數進行比較替換,每替換一次都得將堆下調一次,去保證堆得特性 函式findmaxknum 倆件事 一 取k個數進行建堆 二 進行資料替換,替換完一次下...
從n個數中選擇k個數
這是組合問題,組合問題有幾種寫法,且時間複雜度位o n 2 1 暴力迴圈,適用於固定的k 比方從7個數中找兩個數 int main sort nums.begin nums.end int count 0 for int i 0 i nums.size i cout count 2 當前數選不選,遞...