comb_fl()
Výpočet C(n; k)
Funkce comb_fl()
je uživatelem definovaná funkce (UDF), která vypočítá C(n, k) počet kombinací pro výběr položek k z n bez pořadí. Je založená na nativní funkci gamma() pro výpočet faktoriálu. Další informace najdete v tématu facorial_fl(). Pro výběr položek k s pořadím použijte perm_fl().
Syntax
comb_fl(
n, k)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
n | int, long nebo real | ✔️ | Celkový počet položek. |
K | int, long nebo real | ✔️ | Vybraný počet položek |
Definice funkce
Funkci můžete definovat tak, že buď vložíte její kód jako funkci definovanou dotazem, nebo ji vytvoříte jako uloženou funkci v databázi, a to následujícím způsobem:
Definujte funkci pomocí následujícího příkazu let. Nejsou vyžadována žádná oprávnění.
Důležité
Příkaz let nemůže běžet samostatně. Za ním musí následovat příkaz tabulkového výrazu. Pokud chcete spustit funkční příklad , comb_fl()
podívejte se na příklad.
let comb_fl=(n:int, k:int)
{
let fact_n = gamma(n+1);
let fact_nk = gamma(n-k+1);
let fact_k = gamma(k+1);
tolong(fact_n/fact_nk/fact_k)
};
// Write your query to use the function here.
Příklad
Pokud chcete použít funkci definovanou dotazem, vyvoláte ji po definici vložené funkce.
let comb_fl=(n:int, k:int)
{
let fact_n = gamma(n+1);
let fact_nk = gamma(n-k+1);
let fact_k = gamma(k+1);
tolong(fact_n/fact_nk/fact_k)
};
range n from 3 to 10 step 3
| extend k = n-2
| extend cnk = comb_fl(n, k)
Výstup
n | k | cnk |
---|---|---|
3 | 1 | 3 |
6 | 4 | 15 |
9 | 7 | 36 |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro