![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
用java程序 有N个骰子 N>1 求出不同的排列组合...
3个回答
2013-12-13
展开全部
首先我说明下,第一你要准备的是N个骰子所有的排列组合数,这并不是编程问题,是数学问题,我一时忘记了算法...好像是A6n什么的...你去然后替代了下面的算法表达式就好了..我的算法的基本思路是,先对应N个骰子算出排列的组合数,然后随机1-7的数,判断,list中是否有,有就不放,没有就放,最后判断下list的大小是否等于你算出的组合总数,如果等于,就代表已经算出所有组合了.... int total = 0;
public void addTotal(int n){
this.total =算法表达式; }
public void count(List list){
int i = random.nextInt(7);
if(list.contains(i)){
count(list);
}else{
list.add(i);
}
if(list.size()==this.total){
return;
}
}
public static void main(String[] args) {
Test t = new Test();
int n = 3;
t.addTotal(n);
List list = new ArrayList();
}
public void addTotal(int n){
this.total =算法表达式; }
public void count(List list){
int i = random.nextInt(7);
if(list.contains(i)){
count(list);
}else{
list.add(i);
}
if(list.size()==this.total){
return;
}
}
public static void main(String[] args) {
Test t = new Test();
int n = 3;
t.addTotal(n);
List list = new ArrayList();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-13
展开全部
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Saizi {
static int count = 0;
public static void perm(int n,List<Integer> list){
if(list.size()==n){
for(int k=0;k<list.size();k++){
System.out.print(list.get(k)+",");
}
count++;
System.out.println();
}else{
for(int i=1;i<=6;i++){
List list2 = new ArrayList<Integer>(list);
list2.add(i);
perm(n,list2);
}
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入骰子数目:");
int x = scan.nextInt();
Saizi.perm(x,new ArrayList<Integer>());
System.out.println("总组合数"+count);
}
}
N个骰子不同的情况
import java.util.List;
import java.util.Scanner;public class Saizi {
static int count = 0;
public static void perm(int n,List<Integer> list){
if(list.size()==n){
for(int k=0;k<list.size();k++){
System.out.print(list.get(k)+",");
}
count++;
System.out.println();
}else{
for(int i=1;i<=6;i++){
List list2 = new ArrayList<Integer>(list);
list2.add(i);
perm(n,list2);
}
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入骰子数目:");
int x = scan.nextInt();
Saizi.perm(x,new ArrayList<Integer>());
System.out.println("总组合数"+count);
}
}
N个骰子不同的情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-13
展开全部
n个骰子,每个骰子有六个点,那么排列为:6的n次方。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询