吸血鬼數字指的是位數為偶數的數字,可以由一對數字相乘而得到,而這對數字則各包含乘積一般位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,例如下面的吸血鬼數字:
1260 = 21 x 60
1827 = 21 x 87
2187 = 27 x 81
下面的演算法,是找出4位數的所有吸血鬼數字。
我們假設乙個吸血鬼數字 value = 1000a+100b+10c+d,兩個乘數為
1.x = 10a+b,y=10c+d,則value - x -y=990a+99b=99(10a+b);
2.x = 10a+c,y=10b+d,則value - x -y=990a+90b+9c=9(110a+10b+c);
3.x = 10a+d,y=10b+c,則value - x -y=990a+90b+9c=9(10a+b+c);
可以看出四位數的吸血鬼數字滿足條件:(value - x -y)%9=0
所以整個演算法如下:
public class example得到的結果為:r1[0] = x / 10;
r1[1] = x % 10;
r1[2] = y / 10;
r1[3] = y % 10;
r2[0] = result / 1000;
r2[1] = (result % 1000) / 100;
r2[2] = ((result % 1000) % 100) / 10;
r2[3] = ((result % 1000) % 100) % 10;
arrays.sort(r1);
arrays.sort(r2);
if (r1[0] == r2[0] && r1[1] == r2[1] && r1[2] == r2[2]
&& r1[3] == r2[3]) }
} }}
1395=15*93
1260=21*60
1827=21*87
2187=27*81
1530=30*51
1435=35*41
6880=80*86
吸血鬼數字
吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而這對數字各包含乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,例如,下列數字都是 吸血鬼 數字 1260 21 60 1827 21 87 2187 27 81 1994年柯利弗德 皮寇弗在us...
吸血鬼數字
關於吸血鬼數 寫道若 合成數 v 有偶數個位n 且是 n 2 個位的正整數 x 和 y 的積,而且 x 和 y 不是同時以0為個位數,組成 x 和 y 的數字,剛好就是 v 的數字,那麼 v 就是 吸血鬼數 vampire number 而 x 和 y 則稱為 尖牙 例如1260是吸血鬼數,21和6...
吸血鬼數字
題目 吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而這對數字各包含乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不被允許的,例如,下列數字都是 吸血鬼 數字 1260 21 60 1827 21 87 2187 27 81 寫乙個程式,找出4位數的...