当前位置:首页 » 操作系统 » 算法组合

算法组合

发布时间: 2022-01-18 12:07:40

1. 求一个组合公式的算法

1.选择的数字不重复,有 3 =4 种方法
C4
2.选择的数字中有一个重复的,有 2 1 =6*2=12种方法
C4 * C2
3.选择的数字中有两个重复的,有 1 = 4种方法
C4
总共有4+12+4=20种方法

从12个数字中选3次,有12*11*10/6+2*12*11/2+12=220+132+12=364种方法

2. 组合算法.

看你的数学学的如何了,
转化为数学模型,然后在用某种计算机语言叙述出来就可以了.

3. 求组合算法.

思路1(没实现):这题越做越明白,最后一个全组合问题我没解决好~我是这样想的:求出全排列-->对于所有全排列所有单个元素一个组合(共有N个元素就N个组合)-->对于所有全排列所有元素组成(N-1)个可能的组合-->对于所有全排列所有元素组成(N-2)个可能的组合-->-->到所有元素一个组合这样做有个问题是重复问题,因为是对所有元素组合,思路2:求出这几个元素的所有可能组合,然后在输出结果的时候遍历所有组合,将所有组合联合起来和输入的数据一致。比如:{a,b}组合,遍历所有组合后加上一个{c}即可和输入一致每个组合都为一行,然后去匹配以下我思路1的未代码:/*思路:得到输入字符串不重复全排列,然后逐层组合*/#include#includeusingnamespacestd;/*将输入转字符串格式*/voidInput2Str(char*dest,char*input){intlen=strlen(input);for(inti=0;i&result){if(*begin=='\0'){result.push_back(str);}else{for(char*pCh=begin;*pCh!='\0';pCh++){if(IsSwap(begin,pCh)){swap(*begin,*pCh);Perm(str,begin+1,result);swap(*begin,*pCh);}}}}voidprint(vector&result){cout::iteratoriter=result.begin();intlen=strlen((*iter).c_str());for(;iter!=result.end();++iter){cout>input;Input2Str(inputStr,input);vectorresult;Perm(inputStr,inputStr,result);print(result);return0;}

4. 全组合的算法

总共有26*10*26种可能,如果把没一个A、B、C的取值进行编号,那么序号与A、B、C的关系可以是:
序号I=26*26*B+26*A+C=26(26B+A)+C
那么:
C=I%26
A=(I-C)/26%26
B=(I-C-26A)/26/26

用一重循环来实现上述组合的枚举,程序如下:
main(){
int i,a,b,c;
for (i=0;i<26*10*26;i++){
c=i%26;
a=(i-c)/26%26;
b=(i-c-26*a)/26/26;
printf("%c%c%c ",a+'A',b+'0',c+'A');
}
}

这实际上是使用的26进制数来实现的,这个26进制三位数是BAC,值等于I,当有更多变量的时候,方法是类似的。

5. 组合的算法

高中数学题?
排列组合可以算,不过要分情况
具体如下
3个盒子放球
当3个盒子内有0个球相同(即0个种族相同,也就是ZTP各一族)时只有一种情况
当3个盒子内有2个球相同时(即有一个种族相同),因共有3个种族,于是要从3个种族内选一个出来做相同的族,再从剩下2种族内选一个做落单的族,又因为没顺序,是组合问题
即C31*C21=6
当3个盒子内有3个球相同时,有3种可能,即都是Z,都是T,都是P,故也是3种
综上共有1+3+6=10种

6. 什么是组合算法和组合问题

给你解释下 A(4,6)的意思 A(4,6)的意思是对6个数中的4个做组合的情况个数
首先,第一个数的位置有多少种情况?是6种,在这之后第二个数呢,因为第一个数占据了一个位置所以是5种 以此类推后面是4、3种 那为什么是6*5*4*3呢 而不是6+5+4+3呢 因为这四个事件不是互斥的
C(4,6) = A(4,6) / (4 * 3 * 2 * 1) 为什么要除以4 * 3 * 2 * 1呢 C(4,6)的意思是从6个数中取出4个数 但是不要求排序 这点是和A是有区别的 因为A(4,6)不仅取出了4个数而且对4个数进行了排序 也就是说在C(4,6)中每次从6个数中取出4个数的情况数是1 而在A(4,6)中的情况数却是A(4,4) 所以这个比例关系是 1:A(4,4)的关系 所以要除以A(4,4) 也就是C(4,6) = A(4,6) / A(4,4)
不知道我这样说你能不能听明白

7. 算法;1-9的所有组合

数字: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
可能:0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1

每个数字都只有两种可能:出现或不出现(0或1)

所以所有的可能性有2的9次方,也就是512种

热点内容
太空工程师编程模块 发布:2024-11-15 15:15:27 浏览:68
apache压缩 发布:2024-11-15 15:11:54 浏览:245
java比较三个数 发布:2024-11-15 15:08:39 浏览:835
fml加密 发布:2024-11-15 15:05:56 浏览:883
存储上市龙头 发布:2024-11-15 14:52:14 浏览:38
我的世界服务器怎么重置教学 发布:2024-11-15 14:52:13 浏览:123
C语言tf 发布:2024-11-15 14:36:22 浏览:811
违反密码法是什么意思 发布:2024-11-15 14:36:20 浏览:921
androidmp3录音 发布:2024-11-15 14:32:50 浏览:494
英朗自动挡哪个配置最好 发布:2024-11-15 14:27:44 浏览:254