黑马程序员技术交流社区
标题:
试探算法(彩票)
[打印本页]
作者:
王琪
时间:
2014-3-1 20:53
标题:
试探算法(彩票)
复杂的
package don;
public class Text2{
static final int MAX=8;
static final int NUN=29;
static int []num=new int[NUN];
static int []lottery=new int [MAX];
public static void main(String[]args){
int i,j;
for(i=0;i<NUN;i++){
num[i]=i+1;
}
for(i=0;i<MAX ;i++ ){
lottery[i]=0;
}
fun2(NUN,MAX);
}
static void fun2(int n,int m){
for(int i=n ;i>=m;i-- ){
lottery[m-1]=num[i-1];
if(m>1){
fun2(i-1,m-1);
}
else{
for(int j=MAX-1 ;j>=0 ;j-- )System.out.print(" "+lottery[j]);
System.out.println();
}
}
}
}
复制代码
还有一个好懂
package don;
import java.io.IOException;
public class Text {
public static void main(String[]args) throws IOException{
int []i=new int[7];
int j;
for(i[0]=1 ;i[0]<=29 ;i[0]++ ){
for(i[1]=1 ;i[1]<=29 ;i[1]++ ){
if (i[0]==i[1])continue;
for(i[2]=1 ;i[2]<29 ;i[2]++ ){
if(i[0]==i[2]||i[1]==i[2])continue;
for(i[3]=1 ;i[3]<29 ;i[3]++ ){
if(i[0]==i[3]||i[1]==i[3]||i[2]==i[3])continue;
for(i[4]=1 ;i[4]<=29 ;i[4]++ ){
if(i[0]==i[4]||i[1]==i[4]||
i[2]==i[4]||i[3]==i[4])continue;
for(i[5]=1 ;i[5]<29 ;i[5]++ ){
if (i[0]==i[5]||i[1]==i[5]||
i[2]==i[5]||i[3]==i[5]||i[4]==i[5])continue;
for(i[6]=1 ;i[6]<=29;i[6]++ ){
if(i[0]==i[6]||i[1]==i[6]||
i[2]==i[6]||i[3]==i[6]||
i[4]==i[6]||i[5]==i[6])continue;
for(j=0 ;j<7 ;j++ )System.out.print(" "+i[j]);
System.out.println();
System.in.read();
}
}
}
}
}
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2