分析在乙個等式成立時,使用的是幾進製的最簡方法

2021-08-11 03:19:16 字數 828 閱讀 1017

在學習進製的時候,我相信大家都會經常遇到這種問題,假如乙個等式成立,那這種編譯器中使用的是幾進製,這種題我們一般的做法都是乙個乙個的去試,試到哪個就是哪個,這樣的辦法雖然實用,但是太浪費時間了,遇到簡單的數字還好,如果遇到的是乙個很大的數字,那計算量就很大了。在這裡,我學習到了乙個較為簡單的方法,來解決這種問題,也寫出來和大家分享分享。以這個等式為例:15*4=112,那麼我們先可以看出15乘以4的個位數字,很容易可以得出是20,然後在選項中有6、7、8和9四個數字,我們先來看第乙個數字6,用20除以6得到餘數2,然後再看等號右邊的數字的個位,發現也是2,因此就是六進製制。為了以防萬一,我們也可以用這種方法來試試其它選項,最終確定答案。但是凡事也有例外,有時候用這種方法並不能解決問題。以下是阿里哪一年的筆試題,這道題也印證了阿里的確是阿里的道理。

假設在n進製下,下面的等式成立,567*456=150216,n的值是()

a.9   b.10   c.12   d.18  

這道題用我以上的方法做的話,你會發現只能排除b選項,其實這也是白費功夫,兩個數字相乘個位是2,然後一看後面的答案就不是。那既然那一套不管用了,那我們就用另乙個辦法:先把n進製下的數字寫出來,得出的結果是:(5n^2+6n+7)*(4n^2+5n+6)=20n^4+49n^3+88n^2+71n+42=n^5+5n^4+2n^2+n+6,然後兩邊同時對n取餘,得到 42%n == 6,這時得到第乙個表示式,然後再對兩邊先除以n再對n取餘  (71+42/n) %n ==(1+6/n) %n ==1   此時得到第二個表示式  (71+42/n) %n == 1,然後把選項代進去,一一試過後得到答案是選項d,18進製。這道題應該是本類題目的最高境界了。

以上就是我今天對這種題目的一些簡單的理解。

1 如何根據乙個等式來判斷這個系統採用的幾進製

1 在某個系統中,等式15 4 112成立的話,那麼這個系統採用的 6 進製 a.6 b.8 c.12 d.16 n 5 4 n 2 n 2 1 對等式兩邊同時 n,20 n 2 n 注 2 n 可為 0,1,2,所以 20 n 最起碼得為2 2 對等式兩邊同時整除n後再 n,4 20 n n 1 ...

OVER 是Oracle的乙個分析函式

over 是oracle的乙個分析函式。在mysql遷移oracle的時候分組的時候出現了問題,沒辦法找了個oracle分析函式 over語法 over partition by columnname1 order by columnname2 partition by 需要進行分組的字段 orde...

閏年的判斷方法 給乙個日期判斷是星期幾

只需要知道三個 日期 月份 年份 就可以秒算任意年份任意日期的星期數 方法1 日期 指的是日期數,如3月18號,日期 為18。4月7號,日期 為7。2 月份 需要小小記憶 五月 是 0 八月 是 1 二月 三月 十一月 是 2 六月 是 3 九月 十二月 是4 四月 七月 是5 一月 十月 是 6 ...