吸血鬼數字

2021-09-01 01:50:48 字數 1155 閱讀 8648

題目:

吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而這對數字各包含乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不被允許的,例如,下列數字都是「吸血鬼」數字:

1260 = 21 * 60

1827 = 21 * 87

2187 = 27 * 81

寫乙個程式,找出4位數的所有吸血鬼數字。

下面個演算法。是我從網上找到的。我覺得這個演算法確實不錯。比我寫的好多了。

public class xixiegui      

}

}

system.out.println("共找到" + sum + "組吸血鬼數");

}

}

這個演算法應該是比較簡單的了。演算法中用到string.valueof(j)).split("");的方法來把數字轉換為字串,以拆分數字的方法用的很巧妙了。把數字的比較,轉換為對字串的比較,實在高明。

下面是我寫的**,雖然不怎麼樣。還是貼出來讓大家看看那吧。如果大家發現有什麼地方可以優化。希望大家指出。謝謝。

public class xixuegui 

}int num1 = ((c[0] - '0') * 10) + (c[1] - '0');

int num2 = ((c[1] - '0') * 10) + (c[0] - '0');

//判斷是否符合條件

if (num11 * num1 == x) else if (num11 * num2 == x) else if (num12 * num1 == x) else if (num12 * num2 == x) }}

} }}

輸出效果:

21*60=1260

15*93=1395

41*35=1435

51*30=1530

21*87=1827

27*81=2187

86*80=6880

通過對第一種方法的靈感,我又寫出了一種方法。雖然方法一樣。讓大家見笑了。

public class xixuegui 

}} }

}

吸血鬼數字

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

吸血鬼數字

吸血鬼數字指的是位數為偶數的數字,可以由一對數字相乘而得到,而這對數字則各包含乘積一般位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個0結尾的數字是不允許的,例如下面的吸血鬼數字 1260 21 x 60 1827 21 x 87 2187 27 x 81 下面的演算法,是找出4位數的所...

吸血鬼數字

關於吸血鬼數 寫道若 合成數 v 有偶數個位n 且是 n 2 個位的正整數 x 和 y 的積,而且 x 和 y 不是同時以0為個位數,組成 x 和 y 的數字,剛好就是 v 的數字,那麼 v 就是 吸血鬼數 vampire number 而 x 和 y 則稱為 尖牙 例如1260是吸血鬼數,21和6...