• TOJ 1203: Number Sequence


    1203: Number Sequence 分享至QQ空间 去爱问答提问或回答

    Time Limit(Common/Java):1000MS/10000MS     Memory Limit:65536KByte
    Total Submit: 957            Accepted:208

    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

    Sample Output

    Source

    HDOJ

    这个题可以用暴力打表,但是你不一定得到正确结果,然后啊,就挖出了一组破数据,7 7 n,这个第三项就是0了,然后都是0啊。就一直爆炸,RE、TLE各种姿势都不行的

    所以循环的正确开始应该是f[3]、f[4]

    #include <stdio.h>
    int main(){
    int a,b,n,i;
    int f[55]={0,1,1};
    while(scanf("%d%d%d",&a,&b,&n),a||b||n){
        f[3]=(a+b)%7;
        f[4]=(a*f[3]+b)%7;
        for(i=5;i<=n;i++){
            f[i]=(a*f[i-1]+b*f[i-2])%7;
            if(f[i]==f[4]&&f[i-1]==f[3]){
                n=(n-3)%(i-4)+3;
                break;
            }
        }
        printf("%d
    ",f[n]);
    }
    return 0;
    }
  • 相关阅读:
    WebXml.com.cn 中国股票行情数据 WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新
    新浪股票接口AndroidSDK
    Java Applet使用
    Java反射机制
    Java中HashMap排序
    C#委托和事件
    Java操作XML
    迭代器模式
    C# 天气预报
    ptypes中string类的空间分配
  • 原文地址:https://www.cnblogs.com/BobHuang/p/7113350.html
Copyright © 2020-2023  润新知