一、【30!的結果,轉換成3進製有幾個0】
拿常見的10進製來分析
例如5!中有幾個0
10中有幾個0
5!=120 乙個0
10!=3628800 2個0
在10進製中,出現0的情況無非是出現2個數相乘剛好為10,進製出現了0,5!中只有2和5能湊出10來,因此乙個0;
10!中有2*5 10湊出兩個10來,因此2個0,和上面簡單的舉例結果一致!
因此如果是求30!的十進位制結果中有幾個0的問題就轉化成了求30!這串長連乘數字中能湊出幾個10的問題;
1.2和5 1個
2.10 1個
3.15中的3*5 和乙個偶數 1個
4.20 1個
5.25中的5*5 和兩個偶數 2個
6.30 1個
因此30!的結果一共有
7個0但題目中要求轉換成3進製,3進製逢3進製。會出現0,因此只要求30!中有幾個3就好了。
1.3 1個
2.6=2*3 1個
3.9=3*3 2個
4.12=3*4 1個
5.15=3*5 1個
6.18=3*3*2 2個
7.21=3*7 1個
8.24=3*8 1個
9.27=3*3*3 3個
10.30=3*10 1個
因此30!的結果,轉換成3進製一共有
14個0
二、【567*456=150216在n進製下成立,問n為多少】
個位數相乘6*7=42 在10進製的情況下,末尾應該為2,但在幾進製下變成了150216中的6呢。
那應該是2作為了前一位的個數,然後n進製化了;
兩個個位相乘的結果6*7=42 在對n進製取餘後為6
列下了這個式子
42%n=6
42-6=36
因此36中6以上的的因數都可能為n
n=9,12,18,36
因此範圍就縮小了
(5n^2+6n+7)*(4n^2+5n+6)=20n^4+49n^3+88n^2+71n+421
n^5+5n^4+2n^2+n+6 ..2
最後將進製數挨個帶入,如果1式和2式相等,那麼即為結果
最終結果為
18
兩個面試題
1.實現乙個lite版的字串替換函式 c c char strreplace char str,const char sub,const char rep 限制條件和要求如下 1.其中str為原字串,sub為待被替換的子串。為簡單起見,假定字串sub和rep長度一樣 2.直接對原字串str進行修改並...
關於Map集合的兩個面試題
hashtable對於有些人可能會有點面生。hashtable是jdk 1.0就已經出現的,細心的人可能會發現hashtable這是乙個不規範的命名方式,理論上來說應該寫成hashtable的。但是首先宣告一點hashtable就是正確的寫法,這是為數不多的不規範命名的類,原因是因為出現的比較早,命...
兩個簡單的面試題
分享兩個簡單的面試題,好吧,求質數的那個面試題居然沒做出來。要好好打基礎 public class study0812 獲取arr陣列中最大的數的索引,該索引加97就是字元中重複最多的字元 int maxindex 0 for int i 0 i arr.length 1 i return char...