java组合数计算代码,java中算数运算

从键盘上输入4个个位数,求能组合多少不重复的三位数(用java程序实现)

Scanner  sc = new Scanner(System.in);

为南浔等地区用户提供了全套网页设计制作服务,及南浔网站建设行业解决方案。主营业务为网站设计制作、做网站、南浔网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

int numA=4;//排列4个

int numC=3;//组合3个

System.out.println("请输入四个个位数:");

ListInteger list = new ArrayList();

for (int i = 0; i  numA; i++) {

System.out.printf("第%d个:",i+1);

list.add(sc.nextInt());

}

int a=1;

int b=1;

for (int i = 0; i  numC; i++) {

a=a*(numA-i);

b=b*(i+1);

}

System.out.println("组合数为:"+a/b);

如果是四个不同的数的话是这样

求java实现String list[] = { "1", "2", "3" }; 的排列组合代码

对于这个问题,我首先需要纠正一下楼主的措辞,这是个组合问题,跟排列无关,用排列组合亦不恰当。下面说下我的想法

元素不能重复,首先应该去掉相同的元素,最好的办法是用set来实现。参考api

Arrays.asList

set.addAll

其实呢,这个是一个递归的过程,考虑下面情况

对于数组

{“1”},它的组合数就是{“1”}。

如果再加上一个元素“2“到上面的数组中,那么,如果这个”2“不用,实质上跟{"1"}的情况是一样的,这与不能重复相矛盾,所以”2“一定要用,就是在"1"中再加上”2“;于是我们得到

对于数组{”1“,”2“}它的组合数是{”1“}

再加入一个{”2“}。也许你也考虑到另外一种情况,即”2“也是它的一个组合数,我们考虑丢了,为什么呢,因为在{”1“}中实质上还有一个称为空的集合。这样的话,重新整理一下:

1.对于list

=

{"1"},它的组合包括

{"1"},以及

empty.

2.对于list={"1","2"},它的组合包括{”1“,”2“}(在{”1“}中加了”2“),{”2“}(在empty中加入”2“),也许你还会讲还应该包括{”1“},但是这个{”1“}我们已经在第1步就已经算出来了,不用再考虑了。

按照这样的规则进行下去,你会发现这样就把所有的组合数遍历出来了。要具体的代码就等会儿,我现在有事。

java排列组合算法?

//这个程序是以前用高分求来的,现在稍作修改,呵呵

public class Zuhe {

public static void main(String[] args) {

String s = "122345";//这里是要用到的所有数组成的一个字符串,其它字符同样适用

char[] c = s.toCharArray();

new Zuhe().zuhe(c,c.length,0);

System.out.println("可能的组合数:"+kk);

}

static int kk=0;

private void zuhe(char[] array, int n, int k) {

if (n == k) {

if(array[2]!='4'){//第三个位置不能出现4

String str = new String(array);

if(str.indexOf("53")0str.indexOf("35")0){//3,5不能连续出现

System.out.println(str);

++kk;

}

}

} else {

for (int i = k; i n; i++) {

swap(array, k, i);

zuhe(array, n, k + 1);

swap(array, i, k);

}

}

}

private void swap(char[] a, int x, int y) {

char temp = a[x];

a[x] = a[y];

a[y] = temp;

}

}

========结果=========

122345

122543

123245

123254

123425

123452

125432

125423

125243

125234

122345

122543

123245

123254

123425

123452

125432

125423

125243

125234

132245

132254

132425

132452

132542

132524

132245

132254

132425

132452

132542

132524

142325

142523

143225

143252

143225

143252

142325

142523

145232

145223

145223

145232

152342

152324

152432

152423

152243

152234

152342

152324

152432

152423

152243

152234

212345

212543

213245

213254

213425

213452

215432

215423

215243

215234

221345

221543

223145

223154

223415

223451

225431

225413

225143

225134

232145

232154

232415

232451

232541

232514

231245

231254

231425

231452

231542

231524

242315

242513

243215

243251

243125

243152

241325

241523

245132

245123

245213

245231

252341

252314

252431

252413

252143

252134

251342

251324

251432

251423

251243

251234

221345

221543

223145

223154

223415

223451

225431

225413

225143

225134

212345

212543

213245

213254

213425

213452

215432

215423

215243

215234

231245

231254

231425

231452

231542

231524

232145

232154

232415

232451

232541

232514

241325

241523

243125

243152

243215

243251

242315

242513

245231

245213

245123

245132

251342

251324

251432

251423

251243

251234

252341

252314

252431

252413

252143

252134

322145

322154

322415

322451

322541

322514

321245

321254

321425

321452

321542

321524

325142

325124

325412

325421

325241

325214

322145

322154

322415

322451

322541

322514

321245

321254

321425

321452

321542

321524

325142

325124

325412

325421

325241

325214

312245

312254

312425

312452

312542

312524

312245

312254

312425

312452

312542

312524

315242

315224

315422

315422

315242

315224

342125

342152

342215

342251

342521

342512

341225

341252

341225

341252

341522

341522

342125

342152

342215

342251

342521

342512

345122

345122

345212

345221

345221

345212

422315

422513

423215

423251

423125

423152

421325

421523

425132

425123

425213

425231

422315

422513

423215

423251

423125

423152

421325

421523

425132

425123

425213

425231

432215

432251

432125

432152

432512

432521

432215

432251

432125

432152

432512

432521

431225

431252

431225

431252

431522

431522

412325

412523

413225

413252

413225

413252

412325

412523

415232

415223

415223

415232

452312

452321

452132

452123

452213

452231

451322

451322

451232

451223

451223

451232

452312

452321

452132

452123

452213

452231

522341

522314

522431

522413

522143

522134

523241

523214

523421

523412

523142

523124

521342

521324

521432

521423

521243

521234

522341

522314

522431

522413

522143

522134

523241

523214

523421

523412

523142

523124

521342

521324

521432

521423

521243

521234

542321

542312

542231

542213

542123

542132

543221

543212

543221

543212

543122

543122

542321

542312

542231

542213

542123

542132

541322

541322

541232

541223

541223

541232

512342

512324

512432

512423

512243

512234

513242

513224

513422

513422

513242

513224

512342

512324

512432

512423

512243

512234

可能的组合数:396

求java的关于可重复挑选的组合的算法

import java.util.Random;

public class test{

public static void main(String[] args){

Random ran=new Random();

int[] array={1,2,3,4};

int[] selectArray=new int[3];

for(int i=0;iselectArray.length;i++){

int index=ran.nextInt(array.length);

selectArray[i]=array[index];

}

System.out.println("随机的一组组合数:");

for(int i=0;iselectArray.length;i++){

System.out.print(selectArray[i]+",");

}

}

}

这段代码实例输出一组组合数,要输出全部组合的话,的另加循环


网页标题:java组合数计算代码,java中算数运算
URL分享:http://hbruida.cn/article/dssdpsd.html