題目:
吸血鬼數字是指位數為偶數的數字,可以由一對數字相乘而得到,而這對數字各包含乘積的一半位數的數字,其中從最初的數字中選取的數字可以任意排序。以兩個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...