zoukankan      html  css  js  c++  java
  • ACM HDU 1005 Number Sequence

    Number Sequence

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

    Problem Description

     

    A number sequence is defined as follows:

    f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.

    Given A, B, and n, you are to calculate the value of f(n).
    Input

     

    The input consists of multiple test cases. Each test case contains 3 integers A, B and n on a single line (1 <= A, B <= 1000, 1 <= n <= 100,000,000). Three zeros signal the end of input and this test case is not to be processed.
    Output

     

    For each test case, print the value of f(n) on a single line.
    Sample Input

     

    1 1 3
    1 2 10
    0 0 0
    Sample Output

     

    2
    5
    Author

     

    CHEN, Shunbao
    Source

     

     
    Recommend

     

    JGShining
     
    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    int f[1000];
    int main()
    {
        int a, b;
        int n, i;
        while(1)
        {
            memset(f, 0, sizeof(f));
            scanf("%d%d%d", &a, &b, &n);
            if(a==0 && b==0 && n == 0) break;
            f[0] = f[1] = 1;
            if(n == 1 || n ==2 )
            {
                printf("1\n");
                continue;
            }
            for(i = 2; i<1000; i++)
            {
                f[i] = (a * f[i-1] + b * f[i-2])% 7;
                if(f[i-1] == 1 && f[i-2] == 1 && i != 2  )  break;    
            }
            printf("%d\n",f[(n-1)%(i-2)]);
        }
        return 0;
    }

    解题报告:

    RE(STACK OVERFLOW) 很明显的少做题就吃定了这个亏,当判为RE是我还是不知所措,为何会出现这种情况,天真的我刚开始敲代码时就直接用递归去做,测试数据放上去丝毫没有问题,RE后查看了Discuss,放上大一点的测试数据,愣是几分钟也没有出结果,无奈之下看见了循环的字眼,我就知道我错哪里了,定义数组,通过输出中间值找到循环的条件,提交上去终于AC了,松了一口气,这题可是费了四五个小时,新手上路之寸步难行!

     

    物役记

    更多内容请关注个人微信公众号 物役记 (微信号:materialchains)

  • 相关阅读:
    https://blog.csdn.net/nameofcsdn/article/details/53164652
    洛谷
    模板
    模板
    Gym 101911E "Painting the Fence"(线段树区间更新+双端队列)
    Gym 101911F “Tickets”
    图论:最小瓶颈生成树
    图论:次小生成树
    图论:费用流-SPFA+EK
    图论:Dinic算法
  • 原文地址:https://www.cnblogs.com/liaoguifa/p/2698778.html
Copyright © 2011-2022 走看看