计蒜客 T1207 Pell数组
今天这个问题原本应该是动态规划问题
想到昨晚看的清华那个教程
可以用数组将重复的存起来 这样就一部分避免重复
且此题有取模预算
试想可以将取模运算放在递归函数中,这样可以大大降低位数。
`#include<stdio.h>
#include
#include<math.h>
#include
using namespace std;
int P[1000000];
int Pell(int n) {
if (P[n] == NULL) {
if (n == 1) {
P[n] = 1;
return 1;
}
if (n == 2) {
P[n] = 2;
return 2;
}
else {
P[n] = 2 * Pell(n - 1) + Pell(n - 2);
P[n] = P[n] % 32767;
return P[n];
}
}
if (P[n] != NULL) {
return P[n];
}
}
int main() {
int Num;
int A[20];
cin >> Num;
for (int i = 1; i < Num+1; i++) {
cin >> A[i];
}
for (int i = 1; i < Num+1; i++) {
cout << Pell(A[i])<<endl;
}
cin >> Num;
return 0;
}`