本文主要是介绍关于n进制数等式成立时的n值问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
声明:本文暂时只讨论算法,不做代码实现
问题有些抽象不好描述,所以先引用一道阿里巴巴笔试题说明
()进制下,下面等式成立
567*456=150216
A.9 B.10 C.12 D.18
方法一:看尾数7*6=42;42%n=6;对照选项带出答案C,D
然后计算十进制567*456=258552;结果比150216大很多,排除12进制,大致估算选D
方法二:(5*n^2+6*n+7)*(4*n^2+5*n+6)=6+n+2*n^2+5*n^4+n^5左式=20*n^4+25*n^3+24*n^3+30*n^2+28*n^2+30*n^2+36*n+35*n+42=20*n^4+49*n^3+88*n^2+71*n+42
末为为42%n=6
倒数第二位为71%n+42/n=1
倒数第三位为88%n+71/n=2
以次类推可以列成方程组求解得D
可以看出,此问题若以选择题考试
可先从末位开始,依次排除,一般算到第二位就可得到答案,当然,若追根求源,可用方法二直接算出n值
这篇关于关于n进制数等式成立时的n值问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!