早教吧作业答案频道 -->其他-->
JAVA程序十个数任意选六个输出结果0——9十个数选六个(不排列就是C10^6=210种)输入所有的排列结果最好能求每种排列的和值这是我弄得publicclassfindComb{staticint[]a=newint[100];publicstaticvo
题目详情
JAVA程序 十个数任意选六个 输出结果
0——9十个数选六个(不排列 就是C10^6=210种)输入所有的排列结果 最好能求每种排列的和值
这是我弄得
public class findComb{
static int[] a=new int[100];
public static void main(String str[]){
int[] n={0,1,2,3,4,5,6,7,8,9};
int length=n.length;
int r=7;
a[0]=r;
comb(n,length-1,r);
}
public static void comb(int[] n,int length,int r){
int i=0;
int j=0;
for(i=length;i>=r-1;i--){
a[r]=n[i];
if(r>1)
comb(n,i-1,r-1);
else{
for(j=a[0];j>0;j--)
System.out.print(a[j]+"、");
System.out.println();
}
}
}
}
但是结果不对 只有100多个结果 正常应该是210种结果 最好能求和
0——9十个数选六个(不排列 就是C10^6=210种)输入所有的排列结果 最好能求每种排列的和值
这是我弄得
public class findComb{
static int[] a=new int[100];
public static void main(String str[]){
int[] n={0,1,2,3,4,5,6,7,8,9};
int length=n.length;
int r=7;
a[0]=r;
comb(n,length-1,r);
}
public static void comb(int[] n,int length,int r){
int i=0;
int j=0;
for(i=length;i>=r-1;i--){
a[r]=n[i];
if(r>1)
comb(n,i-1,r-1);
else{
for(j=a[0];j>0;j--)
System.out.print(a[j]+"、");
System.out.println();
}
}
}
}
但是结果不对 只有100多个结果 正常应该是210种结果 最好能求和
▼优质解答
答案和解析
大致给你改了下,看是不是你要的结果.
public class findComb{
static int count=0;
static int[] a=new int[100];
public static void main(String str[]){
int[] n={0,1,2,3,4,5,6,7,8,9};
int length=n.length;
int r=6;
a[0]=r;
comb(n,length-1,r);
}
public static void comb(int[] n,int length,int r){
int i=0;
int j=0;
for(i=length;i>=r-1;i--){
a[r]=n[i];
if(r>1)
comb(n,i-1,r-1);
else{
int sum=0;
for(j=a[0];j>0;j--){
System.out.print(a[j]+"、");
sum+=a[j];
}
count+=1;
System.out.println("sum is:"+sum +" count is:"+count);
}
}
}
}
public class findComb{
static int count=0;
static int[] a=new int[100];
public static void main(String str[]){
int[] n={0,1,2,3,4,5,6,7,8,9};
int length=n.length;
int r=6;
a[0]=r;
comb(n,length-1,r);
}
public static void comb(int[] n,int length,int r){
int i=0;
int j=0;
for(i=length;i>=r-1;i--){
a[r]=n[i];
if(r>1)
comb(n,i-1,r-1);
else{
int sum=0;
for(j=a[0];j>0;j--){
System.out.print(a[j]+"、");
sum+=a[j];
}
count+=1;
System.out.println("sum is:"+sum +" count is:"+count);
}
}
}
}
看了 JAVA程序十个数任意选六个...的网友还看了以下:
发行价格=100*6%*(P/A,5%,5)+100*(P/F,5%,5)你上次告诉我某发行价格的 2020-05-15 …
解年金方程P/A(i,10)*1000=P/A(i,14)*100+P/F(i,15)*10100 2020-05-17 …
定义在(-1,1)上的函数f(x)-f(y)=f((x-y)/(1-xy)),当X∈(-1,0), 2020-06-09 …
图钉帽的面积为图钉尖的面积的2000倍,若用力F把图钉压入木块,则钉帽与钉尖的压力与压强的大小关系 2020-06-26 …
图钉帽的面积为图钉尖的面积的2000倍,若用力F把图钉压入木块,则钉帽与钉尖的压力与压强的大小关系 2020-06-26 …
条件概率问题P(E|F)=P(EF)/P(F)这个是如何从最原始的公式推导出来的?另外P(EF)我 2020-07-09 …
JAVA程序十个数任意选六个输出结果0——9十个数选六个(不排列就是C10^6=210种)输入所有 2020-07-09 …
容积相同的甲、乙两个圆柱形容器都装满水,则甲、乙两容器底受到水的压力F甲和F乙,压强P甲和P乙的关系 2020-11-29 …
.假定p是具有int**类型的指针变量,则给p赋值的正确语句为(B)。A.p=newint;B.p= 2020-12-31 …
判断一个数是否素数的程序小弟写的判断一个数是否是素数的程序,但是输出不正确,请高手帮助修正inta; 2021-02-13 …