`
阳光晒晒
  • 浏览: 29362 次
社区版块
存档分类
最新评论

答复: 几个非常有意思的面试题

阅读更多
swimmer2000 写道
哪位解释下第二题的解题技巧吧!

public class FourWight {

	/**
	 * Method Description
	 * 
	 * @param memberID  memberID
	 * @return member member object
	 */
	int a =0;
	int b =0;
	int c =0;
	int d =0;

	public static void main(String[] args) {
		System.out.println("start");

		FourWight fw = new FourWight();
		int i = 0 ;
		while(true){
			i++;
			if(fw.getSelf()){
				System.out.println(fw.a+"|"+fw.b+"|"+fw.c+"|"+fw.d);
				break;
			}else{
				fw.a = i%40;
				fw.b = (i/40)%40;
				fw.c = (i/(40*40))%40;
				fw.d = (i/(40*40*40))%40;
			}
		
		}

		System.out.println("end");

	}
	public boolean get81times(int a,int b,int c,int d,int key){
		int r = 1;
		for(int i = 0 ; i < 3 ; i++){
			for(int j=0 ; j <3;j++){
				for(int k = 0 ; k <3 ; k++){
					for(int q = 0 ; q <3 ;q++){
						int f = a*(i-1)+b*(j-1)+c*(k-1)+d*(q-1);
						if(key==f){
							//System.out.println( f+"="+a+"*"+(i-1)+"+"+b+"*"+(j-1)+"+"+c+"*"+(k-1)+"+"+d+"*"+(q-1));
							return true;
						}
					}
				}
			}
		}
		return false;
	}
	public boolean getSelf(){
		for(int i =1 ;i<=40;i++){
			if(!get81times(a,b,c,d,i)){
				//System.out.println(i+"|"+a+b+c+d);
				return false;
			}
		}
		return true;
	}


}

遍历....
40以下的4种法码的重量
只有一种合适.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics