java 吸血鬼數的判斷

2021-09-05 11:35:34 字數 1021 閱讀 4913

首先解釋一下吸血鬼數字:吸血鬼數字是指位數為偶數的數字,可由一對數字相乘而得到,這對數字各包含乘積的一半位數的數字,以兩個0結尾的數字是不允許的。

四位數吸血鬼數字示例:1260=21*60,1827=21*87,2187=27*81……

先列出結果:一共7個:1260=21*60,1395=15*93,1435=41*35,1530=51*30,1827=87*21,2187=27*81,6880=86*80

其它優秀方法:

解題目標:

考慮可復用性,單獨寫乙個函式用來判斷是不是吸血鬼數。

如何把整數給分隔開,編寫了toseparateint()方法,可以把任意大小的整數分隔成陣列的形式。

解題過程:

建立乙個vampire類 用來儲存 吸血鬼數的相關資訊

編寫 isvampire(int i)函式,返回vampire型別資料,當vampire.isv為true時代表當前數是吸血鬼數,把大問題分隔成多個小問題逐一解決

因為有了isvampire()方法,在main()方法只把4位數遍歷一遍就可以了

public class f 

} }public static vampire isvampire(int i)

int a = toseparateint(i);

// vampire數第一步是將i 的個位,十位分開

for (int n1 = 0; n1 < 4; n1++)

for (int n4 = 0; n4 < 4; n4++)

else if(((a[n1] * 10 + a[n2]) * (a[n3] * 10 + a[n4])) == i) }}

}} return v;

} public static int toseparateint(int i)

}class vampire

}

由於才疏學淺,在資料結構方面寫的一塌糊塗,為了突出思想,並沒有修改 多層迴圈 部分,可以參考,上面有很好的方法。

如有錯誤請指正。謝謝

Java學習筆記 吸血鬼數

吸血鬼數字,是指數字為偶數的數字,可以由一對數字相乘而得到,而這對數字各包含 乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,例如,下列數字都是 吸血鬼 數字 1260 21 60 1827 21 87 2187 27 81static void vam...

吸血鬼數字(java)

吸血鬼數字是指位數為偶數的數字,可以由一堆數字相乘而得到,而這對數字各包含乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排列。以兩個0結尾的數字是不允許的 例如,下列數字都是吸血鬼數字 1260 21 60 1827 21 87 2187 27 81 寫乙個程式,找出所有4位的吸血鬼數字...

吸血鬼數字(JAVA)

吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而這對數字各包含乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,例如,下列數字都是 吸血鬼 數字 1260 21 60,1827 21 87.寫乙個程式,找出4為數的所有吸血鬼數字。public ...