分析在一个等式成立时,使用的是几进制的最简方法
来源:互联网 发布:instasize 相机软件 编辑:程序博客网 时间:2024/04/28 13:00
在学习进制的时候,我相信大家都会经常遇到这种问题,假如一个等式成立,那这种编译器中使用的是几进制,这种题我们一般的做法都是一个一个的去试,试到哪个就是哪个,这样的办法虽然实用,但是太浪费时间了,遇到简单的数字还好,如果遇到的是一个很大的数字,那计算量就很大了。在这里,我学习到了一个较为简单的方法,来解决这种问题,也写出来和大家分享分享。以这个等式为例: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进制。这道题应该是本类题目的最高境界了。
以上就是我今天对这种题目的一些简单的理解。
- 分析在一个等式成立时,使用的是几进制的最简方法
- 假设在n进制下,下面的等式成立,5…
- 企业面试题:一个三个数的式子,移动其中一根火柴,使等式成立,用程序或实现(可以用伪码),输出能成立的等式。
- hdoj 2199 寻找等式成立的近似值 (用二分法寻找等式成立的临近点)
- 假设在 n 进制下,下面的等式成立,n 的值是? 567*456=150216
- 在表达式“123456789=100”左边的适当位置插入运算符“+”、“-”,如何使等式成立?
- 假设在n进制下,下面的等式成立,n值是() 567*456=150216
- 关于在n进制下,显示的等式成立。求当前进制。
- C语言:假设在n进制下,等式成立,567*456=150216,n的值是多少?
- 【华为机试题】请在123456789之间添加+号或者-号,也可以什么都不填,使得等式的运算结果等于a。要求程序输出等式成立的个数b。测试用例:a=5时,b=21。
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
- 假设在n进制下,下面的等式成立,567 * 456 = 150216,n的值是()。
- uva 10317 调整等式中数字的位置使等式成立
- 假设在n进制下,下面的等式成立,n值是() 567*456=150216 9 10 12 18
- 树莓派 linux下modbus总结(TCP-modbus,RS232-modbus)
- cookie和session的区别
- 虚函数导引学习一
- NOIP2017游记 rgnoH
- 内外网同时运行路由设置
- 分析在一个等式成立时,使用的是几进制的最简方法
- 数据持久化
- tcp/ip学习笔记--第14章 DNS (the domain name system)
- 简单论坛的搭建(Discuz)、memchche、OpenResty(类nginx)
- java程序向图片上加水印
- 理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- RIP协议
- 头文件被重复包含的危害及解决办法
- Qt动态多语言的实现