HDU -> acm ->Fibonacci Again

Fibonacci Again

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 32216    Accepted Submission(s): 15569


Problem Description
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).
 

Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).
 

Output
Print the word "yes" if 3 divide evenly into F(n).

Print the word "no" if not.
 

Sample Input
 
  
0
1
2
3
4
5
 

Sample Output
 
  
no
no
yes
no
no
no
 
一开始做这道题目时以为就是简单的递归运用,就直接开始码代码,没有考虑数据溢出问题:
#include <stdio.h>
#include <stdlib.h>
int test(int n)
{
    if(n == 1)  return 11;
    if(n == 0)  return 7;
    return (test(n - 1) + test(n - 2));
}
int main()
{
    int n;
    while(scanf("%d", &n) != EOF)
    {
        if(test(n) % 3 == 0)
        {
            printf("yes\n");
        }
        else printf("no\n");
    }
    return 0;
}


同样的提交后出现的问题,思考后发现:当N足够大的时候程序会超出负载报错,
这也是递归题常用的套路,那么它必定有规律可循!当你在纸上仔细列几个数以
后发现:从第二个数开始每四个数就会出现一个能被3整除的!

找到规律后就容易的多了:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n;
    while(scanf("%d", &n) != EOF)
    {
        if(n % 4 == 2)
        {
            printf("yes\n");
        }
        else printf("no\n");
    }
    return 0;
}
回答: 引用\[1\]和引用\[2\]是关于解决HDU - 3853问题的AC代码。这段代码使用了动态规划的思路,通过计算每个点的期望能量来解决问题。其中,f\[i\]\[j\]表示走到(i, j)这个点的期望能量。代码中还有一些特殊情况的处理,比如停留在原地的花费为2点,停留在原地的概率为1的情况下期望能量为0。\[1\]\[2\] 引用\[3\]是关于Akemi Homura的描述,她是一个魔法少女,想要帮助她的朋友Madoka拯救世界。但由于Boss孵化器的情节,她被困在一个叫做LOOPS的迷宫中。\[3\] 所以,问题A - LOOPS HDU - 3853是关于解决迷宫问题的一个题目。 #### 引用[.reference_title] - *1* *3* [期望DP——C - LOOPS HDU - 3853](https://blog.csdn.net/GreyBtfly/article/details/80534173)[target=&quot;_blank&quot; data-report-click={&quot;spm&quot;:&quot;1018.2226.3001.9630&quot;,&quot;extra&quot;:{&quot;utm_source&quot;:&quot;vip_chatgpt_common_search_pc_result&quot;,&quot;utm_medium&quot;:&quot;distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt&quot;}} ] [.reference_item] - *2* [HDU 3853-LOOPS【期望DP】](https://blog.csdn.net/qq_41785863/article/details/102570840)[target=&quot;_blank&quot; data-report-click={&quot;spm&quot;:&quot;1018.2226.3001.9630&quot;,&quot;extra&quot;:{&quot;utm_source&quot;:&quot;vip_chatgpt_common_search_pc_result&quot;,&quot;utm_medium&quot;:&quot;distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt&quot;}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值