`
antiwise
  • 浏览: 5670 次
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java算21点和引申

阅读更多
算21点
		final int n=21;  
		int[] a=new int[6];  
		for(int i=1,p=0,s=0;i<n;i++){  
		    a[p++]=i;  
		    s+=i;  
		    if(s<n){  
		        continue;  
		    }  
		    if(s==n){  
		        for(int j=0;j<p;j++){  
		            System.out.print(a[j]+"+");  
		        }  
		        System.out.println();  
		    }  
		    s-=a[--p];  
		    s-=a[--p];  
		    i=a[p];  
		}  

不重复数组下标组合
		final int n=5;
		int[] a=new int[n];
		for(int i=0,p=0;;i++){
			a[p++]=i;
			for(int j=0;j<p;j++){
				System.out.print(a[j]+",");
			}
			System.out.println();
			if(i==n-1){
				if(p==1){
					break;
				}
				p-=2;
				i=a[p];
			}
		}  

思路源于栈(Stack)
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics