【入门】c语言--阿里巴巴进制类题目。假设在n进制下,下面的等式成立,567*456=150216,n的值是()

题目

假设在n进制下,下面的等式成立,567*456=150216,n的值是()。
A. 9 B. 10 C. 12 D.18

---------------------------------------------------------------------------------------------------------------------------------

答案D

567*456=150216

法一:快速解题(偷懒)

首先,个位数无论是什么进制都不会改变

故:6*7=42 

 42%n==6

可排除B选项   

n->9,12,18

10进制运算576*456 估算为250*250约等于 250000

150216和250000之间差的有点多,接近一倍不到一倍

故在答案ACD中选D

法二:准确做法

567*456可变为:

(5n^2+6n+7)*(4n^2+5n+6)=20n^4+24n^3+28n^2+25n^3+30n^2+35n+30n^2+36n+42
=   20n^4+49n^3+88n^2+71n+42

150216可变为:

1*n^5+5n^4+0*n^3+2n^2+n+6  

题目中567*456=150216

由此得到:

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

通过取模运算(任何n的倍数对n取模可消去n)
(1)式左右 %n  得到  

42%n = 6%n        (2)

带入答案也可排除B选项
(1)式左右先/n,再%n得到  (71+42/n)%n = 1%n+(6/n)%n

对后半段:1%n=1

ACD三个答案均>6,故:(6/n)%n=0%n=0
                            (71+ (42/n)) %n = 1+0=1

     得到 :  (71+ (42/n)) %n = 1    (3)

此时代入ACD选项,得到正确答案D

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值