【TSOJ课程】24 1426 分数数列2

课程29_24 1426 分数数列2


题目:

题目描述:

已知一个分数数列的如下:1/2,3/5,4/7,6/10,8/13,9/15,…。输入该数列的第n项,输出对应项的值(用分数表示)
其中0<n<=3000

输入描述:

多组输入,每组输入一个正整数n,表示该数列的第n项

输出描述:

对应于每组输入,输出该项对应的分数表示的值。

样例输入:

2011

样例输出:

3253/5264


解析:

这道题代码倒是不难,主要是研究这个数列究竟是什么规律。那么这道题就变成了一道小学找规律题。

那么,如何快速的发现这道题的数列规律呢?这里教大家一个野路子,如果感兴趣的可以看一看,不感兴趣的略过即可。

大部分的OJ系统都是可以查看其他人做这道题的结果的,我们查询一下这道题的AC(就是通过的)数据,发现绝大部分的人通过的耗时都是20ms~40ms。
在OJ里,这个耗时可以反映出你的算法的时间复杂度,如果说这道题的数列是有通项公式的,那么一般耗时都是O(1)或者O(n),也就是0ms,但是通过的代码都有耗时,说明要么通项公式里混有高时间复杂度(至少为O(n))的项(比如组合数、阶乘),要么就说明式子根本没有通项公式。顺着这两个思路去思考,式子很快就出来了。
那么如果查询的结果发现基本上都是0ms,那么就从通项公式的角度去思考,也能很快的得到答案。

下面正式讲解规律的寻找:

首先,一个数列可能存在不止一个规律,我们的目标就是能找一个是一个,然后再根据已经找到的规律继续找。首先这个数列最显眼最一眼能看出来的,就是分子和分母的差。很明显:第一个数字的分子减分母是1,第二个为2,第三个为3……然后再根据题目给出的第2011项确认一下,第2011项差2011,说明这个规律是正确的。

接下来我们顺着这个思路去找,既然分子和分母的值是相对确定的(即确定了其中一个就能确定另外一个),那么我们就想办法确定其中一个。我们敏锐的发现,分子似乎从来都不重复,分母也是,所以我们猜测:分子可能是从来没有使用过的数字之中最小的那个。比如说第二项的分子3,就是因为1和2都被用过了,所以用了3,而第三项的分子4,是因为1、2、3、5都被用过了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值