`

2010网易有道难题练习赛-C-求解答

阅读更多
这题没想到高效的解法。求解答。

    菲波那切数列可以用下列的式子表示:
    f(1)=1
    f(2)=1
    f(n)=f(n-1)+f(n-2) (n>=3)

    现在我们根据这个规则定义另一种数列 命名为"辛波那切数列", 它是这样定义的:
    s(x)=0 (x<0)
    s(x)=1 (0<=x<1)
    s(x)=s(x-1)+s(x-3.14) (x>=1)

    现在需要计算出s(x) MOD 1000000007的值。
输入
    第一行有一个正整数T表示有T组测试数据。
    接下来T行,每行包含一个数x。
    其中 T<=10000, -1000.0<=x<=1000.0
输出
    有T行,依次输出每组数据的结果。
样例输入

    3
    -1
    0.667
    3.15

样例输出

    0
    1
    2

看来还是C++圈子的算法高手多,基本比赛的都是C++人士。
0
1
分享到:
评论
1 楼 bobten2008 2010-05-25  
去我博客看吧,我马上贴出来,我参加了!

相关推荐

Global site tag (gtag.js) - Google Analytics