Function overview
Prototype
unique_combinations_counter_rec (
number_values )
Parameters
number_values number between 0 and 212
Description
Tags:
Statistics Number
Same as "unique_combinations_counter ()" but recursive.
This function calculates the number of unique combinations of n values (WARNING 212 Values Max)
ex :
list = "a¶b¶c¶d" ----> 4 values
combinations = "a¶b¶c¶d¶ab¶ac¶ad¶bc¶bd¶cd¶abc¶abd¶acd¶bcd¶abcd"
---> 15 unique values (without aa, abc=bca=cab=acb...)
Examples
Sample input
unique_combinations_counter_rec(4)
unique_combinations_counter_rec(50)
Sample output
15
1125899906842623
Function code
/* unique_combinations_counter_rec (number_values)
by Eric Plassot
v.1, May 2009
This function calculates the number of unique combinations of n values (WARNING 212 Values Max)
ex :
list = "a¶b¶c¶d" ----> 4 values
combinations = "a¶b¶c¶d¶ab¶ac¶ad¶bc¶bd¶cd¶abc¶abd¶acd¶bcd¶abcd"
---> 15 unique values (without aa, abc=bca=cab=acb...)
RECURSIVE
*/
if(
number_values > 212;
"error (number_values>212)";
Case(
$Counter < number_values;
let(
[
$n_combcum = Cas( $Counter = ""; ""; $n_combcum );
$Counter = $Counter + 1;
$val = Combination( number_values; $Counter );
$n_combcum = $n_combcum + $val
];
unique_combinations_counter_rec( number_values )
);
let( $Counter = ""; $n_combcum )
)
)
// ===================================
/*
This function is published on FileMaker Custom Functions
to check for updates and provide feedback and bug reports
please visit http://www.fmfunctions.com/fid/228
Prototype: unique_combinations_counter_rec( number_values )
Function Author: Eric (http://www.fmfunctions.com/mid/128)
Last updated: 25 May 2009
Version: 1
*/
// ===================================
/* unique_combinations_counter_rec (number_values)__LITBR____LITBR__by Eric Plassot__LITBR____LITBR____LITBR__v.1, May 2009__LITBR____LITBR__ __LITBR__This function calculates the number of unique combinations of n values (WARNING 212 Values Max)__LITBR__ex :__LITBR__list = "a¶b¶c¶d" ----> 4 values__LITBR__combinations = "a¶b¶c¶d¶ab¶ac¶ad¶bc¶bd¶cd¶abc¶abd¶acd¶bcd¶abcd"__LITBR__---> 15 unique values (without aa, abc=bca=cab=acb...)__LITBR____LITBR__RECURSIVE__LITBR__*/__LITBR__if(__LITBR__ number_values > 212;__LITBR__ "error (number_values>212)";__LITBR__ Case(__LITBR__ $Counter < number_values;__LITBR__ let(__LITBR__ [__LITBR__ $n_combcum = Cas( $Counter = ""; ""; $n_combcum );__LITBR__ $Counter = $Counter + 1;__LITBR__ $val = Combination( number_values; $Counter );__LITBR__ $n_combcum = $n_combcum + $val__LITBR__ ];__LITBR__ unique_combinations_counter_rec( number_values )__LITBR__ );__LITBR__ let( $Counter = ""; $n_combcum )__LITBR__ )__LITBR__ )__LITBR____LITBR__// ===================================__LITBR__/*__LITBR____LITBR__ This function is published on FileMaker Custom Functions__LITBR__ to check for updates and provide feedback and bug reports__LITBR__ please visit http://www.fmfunctions.com/fid/228__LITBR____LITBR__ Prototype: unique_combinations_counter_rec( number_values )__LITBR__ Function Author: Eric (http://www.fmfunctions.com/mid/128)__LITBR__ Last updated: 25 May 2009__LITBR__ Version: 1__LITBR____LITBR__*/__LITBR__// ===================================
Login or register to comment
Create a new account with fmcustomfunctions.com or login to post a comment.