【C语言】求已知等式在几进制条件下成立

little fairy的第五篇博客。

通过实例来说明问题。

例1、求使15*4=112成立的进制条件。

假设进制为n,则(1*n^1+5)*4 = 1*n^2+1*n^1+2;这是一个一元二次方程,我们可以得到,进制条件为 6 进制。

可是,如果我们所要求的式子比这个更为复杂,那么,我们得出的将会是一个一元N次的方程,无法解出答案时,我们应该怎么办。

例2、求使567*456=150216成立的进制条件。

假设进制为n,则(5*n^2+6*n+7)*(4*n^2+5*n+6)=1*n^5+5*n^4+2*n^2+1*n+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(表达式二);

联立表达式一、二,得出答案 n=18。

 

综上所述,我们可以得出解决此类式子的一般方法。

1、假设进制为n,得到等式在十进制下的相等关系。

2、两边同时对n取余(看数字的个位数字),得:表达式一。

3、两边同时除以n再对n取余(看数字的十位数字),得:表达式二。

4、联立表达式一、二,得出答案。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值