工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1262|回复: 5

2105这道题需要如何优化?

[复制链接]
发表于 2005-7-27 17:10 | 显示全部楼层 |阅读模式
我的代码:

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);
}

提交时内存溢出,请问要如何优化??
发表于 2005-7-27 18:41 | 显示全部楼层
不能直接模拟的吧
有规律的,自己找找
回复

使用道具 举报

发表于 2005-7-27 19:04 | 显示全部楼层
100,000,000
这么大,模拟肯定不行,要优化
回复

使用道具 举报

发表于 2005-7-27 20:57 | 显示全部楼层
50以内一定有循环

规律嘛。。。
回复

使用道具 举报

 楼主| 发表于 2005-7-28 13:34 | 显示全部楼层
规律就是递归吧
回复

使用道具 举报

发表于 2005-7-28 14:10 | 显示全部楼层
A,B一定下,对于F(N),只和F(N-1),F(N-2)有关,因为MODE 7,姑F(N-1),F(N-2)的组合只有7×7=49种,规律就在这里
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-6-7 03:14

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表