我是靠谱客的博主 认真啤酒,最近开发中收集的这篇文章主要介绍关于进制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

阿里曾经的一个笔试题:

在n进制下,567*456=150216成立,n的值是()

A.9

B.10

C.12

D.18

这个题如果拆开一项一项的算,肯定是可以,但是太浪费时间了。看最后一位数的话,6*7=42,42对9取余是6,42对12取余是6,42对18取余是6,42对10取余是2,所以可以排除掉B.但是还有三个选项。我们可以左右拆开的看。

左边 =(5*n^2+6*n+7)*(4*n^2+5*n+6)=20*n^4+49*n^3+88*n^2+71*n+42

右边=n^5+5*n^4+2*n^2+n^1+6

左边=右边

20*n^4+49*n^3+88*n^2+71*n+42 = n^5+5*n^4+2*n^2+n^1+6

1.两边同时对n取余,一定相等。

所以42对n取余一定等于6对n取余,n一定是比6大的数,因为乘数出现了6和7,所以6对n取余结果一定是6,那么42对n取余结果也一定是6,也就是上面所说的排除了B选项。

2.两边先除以n再对n取余,一定也是相等的。

所以(71+42/n)%n=(1+6/n)%n,然后把选项带进去试一下

A.9    (71+4)%9=3, (1+0)%9=1, 排除

C.12  (71+3)%12=2, (1+0)%12=1, 排除

D.18  (71+2)%18=1, (1+0)%18=1, 正确

所以本题答案是D

这样的方式更节约时间








最后

以上就是认真啤酒为你收集整理的关于进制的全部内容,希望文章能够帮你解决关于进制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部