題目連結:[中學] 請問一題國一數學

JAVA 程式碼

//作者:骷骷
//網誌:http://bekachu.pixnet.net/blog

public class Test{
	
	public static void main(String[] args) {
		
		int abcd=0;
		do{
			int ab=choose(abcd, 0, 1);
			int cd=choose(abcd, 2, 3);
			int ad=choose(abcd, 0, 3);
			int cb=choose(abcd, 2, 1);
			int bcad=choose(abcd, 1, 2)*100+ad;
					
			if((ab*cd)==bcad&&(ad*cb)==abcd){
				
				System.out.println(ab+"*"+cd+"="+bcad);
				System.out.println(ad+"*"+cb+"="+abcd);
				System.out.println(abcd);
				System.out.println("=====");
			}
			
			abcd++;
		}while(abcd<10000);
	}
	
	static int choose(int abcd, int i, int j){
		
		int ten=0, one=0;
		i=3-i;
		j=3-j;
		for(int k=0;k<=i||k<=j;k++){
			
			if(k==i){
				
				ten=10*(abcd%10);
			}
			
			if(k==j){
				
				one=(abcd%10);
			}
			
			abcd/=10;
		}
		
		return ten+one;
	}
}
/*輸出結果:
0*0=0
0*0=0
0
=====
21*87=1827
27*81=2187
2187
=====
*/

==========

原文是要用推理的,

但是骷骷推過一次,雖然可以推得出來,

但是用電腦就完全妙殺啊,由於骷骷懶得寫推理過程

所以將此程式碼PO上來,記錄曾經看過這題就好……。

arrow
arrow
    文章標籤
    JAVA 國一 數學
    全站熱搜

    骷骷 發表在 痞客邦 留言(0) 人氣()