zoukankan      html  css  js  c++  java
  • 入门训练 Fibonacci数列 (水题)

    入门训练 Fibonacci数列  
    时间限制:1.0s   内存限制:256.0MB
          
    问题描述

    Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

    当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

    输入格式
    输入包含一个整数n。
    输出格式
    输出一行,包含一个整数,表示Fn除以10007的余数。

    说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

    样例输入
    10
    样例输出
    55
    样例输入
    22
    样例输出
    7704
    数据规模与约定
    1 <= n <= 1,000,000。

    学以致用,终于把前几天写的一个vector向量容器给用上了。

    AC代码

    #include<iostream>
    #include<stdio.h>
    #include<vector>
    const int M = 1000005;
    
    using namespace std;
    
    int main()
    {
        int n, num, flag;
    
        scanf("%d", &n);
    
        vector<int> fib;
    
        fib.push_back(1);
        fib.push_back(1);
    
        flag = 1;
    
        for(int i = 2; i < n; i++)
        {
            num = (fib.back() + flag)%10007;
            flag = fib.back();
            fib.push_back(num);
        }
    
        printf("%d
    ", fib.back());
    
        return 0;
    }
    View Code
    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    SQL数据库——存储过程
    常用命令
    八大排序算法
    Java 反射的理解
    Java 集合的理解(持续更新......)
    JAVA 用数组实现 ArrayList
    JVM 运行时的内存分配
    Java中的增强 for 循环 foreach
    Java 泛型
    《七》随机访问文件流
  • 原文地址:https://www.cnblogs.com/h-hkai/p/8312995.html
Copyright © 2011-2022 走看看