简单的递归。
我打算复试结束了再看算法。现在靠做题练习。
要用__int64,a[30][0]=113585929507107651,a[30][1]=41575339372525900
#include <stdio.h>
int main() {
int n, i;
__int64 a[34]={1, 3, 11, 41}, b[34]={0, 1, 4, 15};
for(i=4; i<34; i++) {
a[i] = a[i-1] * 3 + b[i-1] * 2;
b[i] = a[i-1] + b[i-1];
}
while(~scanf("%d", &n)) {
if(n==-1) break;
printf("%I64d, %I64d\n", a[n], b[n]);
}
return 0;
}