蓝桥杯——最大比例

题目

在这里插入图片描述
简而言之:给你一串等比数列的子项,然后求其最大公比,输出的时候得是最简分数。

思路

拿到数据存放如数组,然后降序排序并去重,然后让a[i]/a[i+1],这样我们得到的就是qn-m,存放到一个新数组中,然后对整个数组执行这样的操作,就能得到一大堆qx-y(这里的x,y指的是未知数,不代表某个特定的数,下同),我们在整个新数组中找到一个最小的qx-y,那么如何判断这个数是不是最大公约数呢(即q1)?我们可以那这个数与其他qx-y相除,如果和另外所有的qx-y都能整除,并且不断地除除除,能一直除到1,那么他就是最大公比。
但是倘若不能整除呢?这里我们可以用到辗转相除法类似的原理,我们举一个例子,25是32,24是16,32/16=2,说明16不是公比,这时候我们可以拿2去整除16,16/2=8,8/2=4,4/2=2,2/2=1,所以这里2是公比。

遗憾的是笔现在太菜,还不能写出代码,但是思路肯定是没问题的,以后有机会的话,笔者会回来更新代码的~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值