ACM中一个C++递归题提交时时间超限,难道这还能化简? 50
1个回答
展开全部
#include <stdio.h>
int f( int n ) {
if ( n < 1 || n > (int)1e9 ) {
printf("error input n!\n");
printf("sufficient condition: %d < n < %d\n", 1, (int)1e9);
return 0;
}
if ( n == 1 ) {
return 1;
} else if ( n == 2 ) {
return 1;
} else if ( n > 2 ) {
return 49*f(n-1) + 27*f(n-2);
} else {
return 0;
}
}
int main(int argc, char *argv[]) {
int n = 6;
printf("f(%d) = %d\n", n, f(n) );
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询