c++ pell序列的问题。。

[复制链接]
查看11 | 回复2 | 2011-8-29 20:22:18 | 显示全部楼层 |阅读模式
A1=1;A2=2; AN=A[N-2]+2*A[N-1]求第K项膜32767是多少
#include
#include
using namespace std;
int main()
{

int n,k;cin>>n;

for(int p=1;p>k;

if(k==1) {cout<<1<<endl;continue;}

if(k==2) {cout<<2<<endl;continue;}

long long int a=1,b=2,s;

for(int i=3;i<=k;i++)

{ s=(a+2*b)%32767; a=b;b=s;}

cout<<s<<endl;

}

getch();

system("pasue");

return 0;
}

为什么 s=(a+2*b)%32767而不是 cout<<s%32767<<endl; 难道序列循环?周期是32767??

回复

使用道具 举报

千问 | 2011-8-29 20:22:18 | 显示全部楼层
#include"stdio.h"void main(){
int i,j,tempMax;
int nCase=1;
int a[32767];
int totalMax[32767];
int temp;
while(scanf("%d",&temp))
{
if(temp==-1)break;
a[1]=temp;
totalMax[1]=1;
for(i=1;;)
{
scanf("%d",&temp);
if(temp==-1...
回复

使用道具 举报

千问 | 2011-8-29 20:22:18 | 显示全部楼层
s=(a+2*b)%32767将中间结果也模32767,不影响a[k]的结果,并且可以避免s超过表示范围。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行