2105这道题需要如何优化?
我的代码:main()
{
int a,b,n;
scanf("%d %d %d",&a,&b,&n);
while(a>=1&&a<=1000&&b>=1&&b<=1000&&n>=1&&n<=100000000)
{
printf("%d\n",fun(n,a,b));
scanf("%d %d %d",&a,&b,&n);
}
}
int fun(int n,int a,int b)
{
if(n==1||n==2)return 1;
else return((a*fun(n-1,a,b)+b*fun(n-2,a,b))%7);
}
提交时内存溢出,请问要如何优化?? 不能直接模拟的吧
有规律的,自己找找 100,000,000
这么大,模拟肯定不行,要优化 50以内一定有循环
规律嘛。。。 规律就是递归吧 A,B一定下,对于F(N),只和F(N-1),F(N-2)有关,因为MODE 7,姑F(N-1),F(N-2)的组合只有7×7=49种,规律就在这里
页:
[1]