解题思路:参照斐波那契数列的通项公式 f[i] = f[i-1] + f[i-2]类似的只需要在f2上*2最后f3%32376即可。
注意事项:循环里面的计数要从2开始!
参考代码:
#include int pell(int n) { int i,f1 = 1,f2 = 2,f3 = 0; if(n==1) return f1; else if(n==2) return f2; for(i=3;i<=n;i++) { f3 = (f1 +2* f2)%32767; f1 = f2; f2 = f3; } return f3; } int main(int argc, char const *argv[]) { int n,i; scanf("%d",&n); int a[n]; for(i=0;i<n;i++) { scanf("%d",&a[i]); printf("%d\n",pell(a[i])); } return 0; }
0.0分
5 人评分
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1315 |
Pascal三角 (C语言代码)格式错误浏览:520 |
打水问题 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:337 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:507 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:614 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:691 |
Hello, world! (C++代码)浏览:1744 |
蛇行矩阵 (C语言代码)浏览:535 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:529 |