JAVAで南開百題をやってみるつもりです(四)


KOP注:この文章は2006-03-24に書いてあります.私の他のブログから回ってきました.ここは整理するためだけです.
原題4:
*   * アルゴリズムの問題:
  *  1、2個の3桁を加算すると、結果は1個の4桁になります
  *  2、2個の三桁は、それぞれの数字が異なる必要があります
  *  3、加算の結果、桁数ごとに違います
  *  4、すべての可能性を印刷する 

import java.util.ArrayList;
import java.util.List;
public class Nan004 {

	public static void main(String[] args) {
		List<Integer> intList = new ArrayList<Integer>();
		int g,s,b,q,sum;
		for(int i=102;i<=987;i++){
			g=i/1%10;//  
			s=i/10%10;//  
			b=i/100%10;//  
			if(g==s||g==b||s==b){
				continue;
			}
			intList.add(i);			
		}
		for(int i=0;i<intList.size()-1;i++){
			for(int j=i+1;j<intList.size();j++){
				sum=intList.get(i)+intList.get(j);
				if(sum>=1023){
					g=sum/1%10;//  
					s=sum/10%10;//  
					b=sum/100%10;//  
					q=sum/1000%10;//  
					if(g==s||g==b||g==q||s==b||s==q||b==q){
						continue;
					}
					System.out.println(intList.get(i)+" + "+intList.get(j)+" = "+sum);
				}else{
					continue;
				}
			}
		}

	}

}