组合编程
‘壹’ 怎么编程实现排列组合
publicstaticStringreverse1(Stringstr)
{
returnnewStringBuffer(str).reverse().toString();
}
2.最常用的方法:
publicstaticStringreverse3(Strings)
{
char[]array=s.toCharArray();
Stringreverse="";//注意这是空串,不是null
for(inti=array.length-1;i>=0;i--)
reverse+=array[i];
returnreverse;
}
3.常用方法的变形:
publicstaticStringreverse2(Strings)
{
intlength=s.length();
Stringreverse="";//注意这是空串,不是null
for(inti=0;i<length;i++)
reverse=s.charAt(i)+reverse;//在字符串前面连接,而非常见的后面
returnreverse;
}
4.c语言中常用的方法:
publicstaticStringreverse5(Stringorig)
{
char[]s=orig.toCharArray();
intn=s.length-1;
inthalfLength=n/2;
for(inti=0;i<=halfLength;i++){
chartemp=s[i];
s[i]=s[n-i];
s[n-i]=temp;
}
returnnewString(s);//知道char数组和String相互转化
}
‘贰’ C语言为什么称为Combined Programming Language(组合编程语言)
c前身是b语言,b语言前身bcpl,bcpl前身cpl,全称就是组合编程语言了
‘叁’ C语言中组合公式的编程
int function(int n,int m)
{
int i, ret = 1;
for(i=0;i<m;i++)
ret *= (n-i);
return ret;
}
void main(void)
{
int n = 15, m =5;
int ret;
ret = function(15,5) / function(5,5);
printf("%d\n",ret);
}
‘肆’ 排列组合编程
我承认我错了,是120种
我这种方法还算巧妙吧:
#include <stdio.h>
int main()
{
int i,j,k;
int sum = 0;
for(i = 9; i>=2;i--)
for(j = i-1; j >=1; j--)
for(k = j-1; k>=0;k--)
printf("%d%d%d\n",i,j,k);
return 1;
}
文本,你去抄下书就搞定了
‘伍’ 计算组合数 如何编程
如果是指从m个不同元素中取出n(n≤m)个元素的所有组合的个数 的话
#include"stdio.h"
int fac(int n) /*阶乘函数*/
{
int s,i;
s=1;
for(i=1;i<=n;i++)
{
s*=i;
}
return(s);
}
main()
{
int n,m,c;
scanf("%d %d",&m,&n);
c=fac(m)/(fac(n)*fac(m-n));
printf("%d\n",c);
}
用的是C语言
‘陆’ c语言编程排列组合
void Show(int n,int len ,char str[], char p[],int *i){/*函数功能说明:
密码穷举法 递归算法参数说明:len 密码可选元素的个数,实际等于 strlen(str);
n 密码位数。
STR[]密码表。
*p 密码排列组合的临时存档*/int a;n--;for(a=0; a < len; a++){p[n]=str[a];
if(n==0)printf("%d:%s ",(*i)++,p);
if(n0)Show(n,len , str,p,i);}}
/*驱动程序 用于测试*/
int main(void){char str[]="abcdef";//密码表 可选元素集合可根据选择修改
int n=4;//密码位数,根据具体应用而定。
int len=strlen(str);//用于密码元素集合计数。
char p[20];//存放排列组合的密码,用于输出。
int num=0;//存放统计个数的整数值,
int *i=#//计数器 地址。
p[n]='\0';//这个不用说啦。
printf("\n%d 位密码,每个密码有%d个选择的话,共有:%d个组合。\n",n,len,*i);return 0;}
以上回答你满意么?
‘柒’ 排列组合C语言编程思路
定义一个结构体一维数组,每个下标表示不同的盒子
{int A;
int B;
int C;
int D;
}
,先穷举A的可能性
再依次穷举B、C、D的可能性
最后输出
‘捌’ combined programming language的汉语意思
组合编程语言。
刚发明计算机二十几年的时候有个叫CPL的语言,早就不用了。
不过值得一提的是目前最流行的编程语言之一. C语言也叫 Combined Language(并且这个命名和上面说的CPL是有关系的). 所以现在用这个词可能是指C语言。