| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 330 人关注过本帖
标题:递推问题求助,
只看楼主 加入收藏
kinjad
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-8
收藏
 问题点数:0 回复次数:0 
递推问题求助,
题目描述:
给定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的模。

样例输入:
20 1 1 14 5样例输出:
8359

下面是我自己写的代码,感觉没什么问题,但是上交以后总是报错
哪位高手给说说是什么问题,多谢了
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int a0,a1,p,q,k,num,i;
    cin>>a0>>a1>>p>>q>>k;
    //cin>>k;
    //p=1;
    //q=1;
    //a0=1;
    //a1=1;
    p%=10000;
    q%=10000;
    if(k==0)
    {
        cout<<a0%10000<<endl;
        return 0;
    }
    if(k==1)
    {
        cout<<a1%10000<<endl;
        return 0;
    }
    for(i=2;i<=k;i++)
    {
        a0%=10000;
        a1%=10000;
        a0=(a0*q)%10000;
        a1=(a1*p)%10000;
        num=(a0+a1)%10000;
        a0=a1;
        a1=num;
    }
    cout<<num<<endl;
    return 0;
}


搜索更多相关主题的帖子: include 上交 
2012-03-08 18:35
快速回复:递推问题求助,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050249 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved