2017.11.30

递推数列

题目描述

给定a0,a1,以及an=p*a(n-1) + q*a(n-2)中的p,q。这里n >= 2。 求第k个数对10000的模。

输入描述:

输入包括5个整数:a0、a1、p、q、k。

输出描述:

第k个数a(k)对10000的模。
示例1

输入

20 1 1 14 5

输出

8359


#include <iostream>  
#include <cstdio>
#include <iomanip>  
#include <string>
#include <cmath>
//用setprecision(n)设置精度,其中n表示精确到小数点后n位  
//解题的关键:
//找出规律,这是一个迭代的问题
using namespace std;

int main()
{
    long long a0, a1, p, q, k;
    long long sum = 0;
    cin >> a0 >> a1 >> p >> q >> k;
    for (int i = 0; i < k-1;i++)
    {
        sum =( p*a1 + q*a0)%10000;
        a0 = a1;
        a1 = sum;
        
    }
    cout << sum % 10000;
    return 0;
}
原文地址:https://www.cnblogs.com/panlangen/p/7930257.html