題目:給你遞推關係,求第n個值。
分析:找規律。看到這麼大的數據,就會想到是有循環的,以5為循環節。
Q(0)= α;
Q(1)= β;
Q(2)=(1+β)/ α;
Q(3)=(1+Q(2))/ Q(1)=(α+β+1)/(αβ);
Q(4)=(1+Q(3))/ Q(2)= α;
Q(5)=(1+Q(4))/ Q(3)= β;
說明:目標700題。╮(╯▽╰)╭。
#include <cstdio>
int main()
{
long long a, b, n;
while (~scanf("%lld%lld%lld",&a,&b,&n) && a) {
n = n%5LL;
if (n == 0LL)
printf("%lld\n",a);
else if (n == 1LL)
printf("%lld\n",b);
else if (n == 2LL)
printf("%lld\n",(1LL+b)/a);
else if (n == 3LL)
printf("%lld\n",(1LL+a+b)/a/b);
else printf("%lld\n",(1LL+a)/b);
}
return 0;
}

本文介绍了一种通过寻找循环规律解决大规模递推数列问题的方法,并提供了一个C++实现示例,该方法适用于快速求解特定类型的递推序列的第n项。
1227

被折叠的 条评论
为什么被折叠?



