生活随笔
收集整理的這篇文章主要介紹了
Java编程思想习题-魔鬼数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java編程思想習題-魔鬼數字
4章練習10 吸血鬼數字 位數為偶遇的數字由一對數字相乘得到,這對數字包含乘積的一半位數的數字,
從最初的數字中選取的數字可以任意排序,以兩個0結尾的數字是不允許的 例如
1260=21×60 1827=21×87
public class thinkinginjavapractices
{public static void main(String args
[]){for (int i
=1001;i
<10000;i
++){produceTest(i
,puls(a(i
),b(i
)),puls(c(i
),d(i
)));produceTest(i
,puls(a(i
),b(i
)),puls(d(i
),c(i
)));produceTest(i
,puls(a(i
),c(i
)),puls(b(i
),d(i
)));produceTest(i
,puls(a(i
),c(i
)),puls(d(i
),b(i
)));produceTest(i
,puls(a(i
),d(i
)),puls(b(i
),c(i
)));produceTest(i
,puls(a(i
),d(i
)),puls(c(i
),b(i
)));produceTest(i
,puls(b(i
),a(i
)),puls(c(i
),d(i
)));produceTest(i
,puls(b(i
),a(i
)),puls(d(i
),c(i
)));
produceTest(i
,puls(b(i
),c(i
)),puls(d(i
),a(i
)));
produceTest(i
,puls(b(i
),d(i
)),puls(c(i
),a(i
)));produceTest(i
,puls(c(i
),a(i
)),puls(d(i
),b(i
)));
produceTest(i
,puls(c(i
),b(i
)),puls(d(i
),a(i
)));
}}static int a(int i
){ return i
/1000;}static int b(int i
){ return (i
%1000)/100;}static int c(int i
){ return ((i
%1000)%100)/10;}static int d(int i
){ return ((i
%1000)%100)%10;}static int puls(int i
,int j
){ return (i
*10)+j
;}static void produceTest(int j
,int m
,int n
){if(m
*n
== j
)System.out
.println(j
+"="+m
+"*"+n
);}
}
先把個十百千位(題目說是四位數)分開,再分別利用puls函數組成兩位數,再利用produceTest判斷兩個兩位數的乘積是否是這個四位數
四位組合一共有六種 后邊的組合形式與前邊有重復(代碼中注釋的部分)
結果
1260=21*60
1395=15*93
1435=41*35
1530=51*30
1827=87*21
2187=27*81
6880=86*80
6880=80*86
總結
以上是生活随笔為你收集整理的Java编程思想习题-魔鬼数字的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。