解题思路:
注意事项:递归题不给用递归不然会超时
参考代码:递归法:
#include<stdio.h>
long long int pell(long long int n)
{ if(n==1)
return 1;
else if(n==2)
return 2;
else
return (2*pell(n-1)+pell(n-2))%32767;
}
int main()
{ long long int i,n;
scanf("%lld",&i);
for(int k=1;k<=i;k++)
{ scanf("%ld",&n);
printf("%lld\n",pell(n));
}
return 0;
}
循环法:
#include<stdio.h>
long long int pell(long long int n)
{ int a1=1,a2=2;
if(n==1)
return a1;
else if(n==2)
return a2;
else
{ for(int k=3;k<=n;k++)
{ int temp=(2*a2+a1)%32767;
a1=a2;
a2=temp;
}
return a2;
}
}
int main()
{ long long int i,n;
scanf("%lld",&i);
for(int k=1;k<=i;k++)
{ scanf("%ld",&n);
printf("%lld\n",pell(n));
}
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:609 |
Hello, world! (C语言代码)浏览:1316 |
【绝对值排序】 (C++代码)浏览:720 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:611 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:512 |
1642题解浏览:784 |
字符逆序 (C语言代码)浏览:506 |
大家好,我是验题君浏览:604 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:756 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:726 |