hdu1005 Number Sequence
2015-11-04 20:07
302 查看
第一次写博客、、、之所以写上这道题是因为真的真的为这道题纠结了很久,抓狂!!!!!
其实这道题就是找规律了,f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7,f(n)肯定是0~6了,循环一下找一下周期就出来。
我第一次的代码其实是这样的:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,b,n,f[100],m;
f[1] = 1;
f[2] = 1;
while(scanf("%d%d%d",&a,&b,&n)&&(a||b||n))
{
for(int i = 3;i<100;i++)
{
f[i] = (a*f[i-1]+b*f[i-2])%7;
if(f[i-1]==1&&f[i]==1)
{
m = i-2;
break;
}
}
f[0] = f[m];
printf("%d\n",f[n%m]);
}
return 0;
}
然后WA了无数次!于是思考会不会是哪一组数据造成了后面的f数组的值都一样,果然作为大龄ACMer我还是太年轻了。
然后改成这样:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,b,n,f[100],m;
f[1] = 1;
f[2] = 1;
while(scanf("%d%d%d",&a,&b,&n)&&(a||b||n))
{
int i;
for(i = 3;i<100;i++)
{
f[i] = (a*f[i-1]+b*f[i-2])%7;
if(f[i-1]==1&&f[i]==1)
{
break;
}
}
m = i-2;
f[0] = f[m];
printf("%d\n",f[n%m]);
}
return 0;
}
把m = i-2提到循环外面就A了,举个例子、当输入7 7 x的时候、、、、f数组变成了1,1,0,0,0,0,0,0,0…
这样还是有问题的,不过能过hdu数据,把m设为大于100,000,000的值
好吧、第一篇博客就献给了hdu1005
其实这道题就是找规律了,f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7,f(n)肯定是0~6了,循环一下找一下周期就出来。
我第一次的代码其实是这样的:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,b,n,f[100],m;
f[1] = 1;
f[2] = 1;
while(scanf("%d%d%d",&a,&b,&n)&&(a||b||n))
{
for(int i = 3;i<100;i++)
{
f[i] = (a*f[i-1]+b*f[i-2])%7;
if(f[i-1]==1&&f[i]==1)
{
m = i-2;
break;
}
}
f[0] = f[m];
printf("%d\n",f[n%m]);
}
return 0;
}
然后WA了无数次!于是思考会不会是哪一组数据造成了后面的f数组的值都一样,果然作为大龄ACMer我还是太年轻了。
然后改成这样:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,b,n,f[100],m;
f[1] = 1;
f[2] = 1;
while(scanf("%d%d%d",&a,&b,&n)&&(a||b||n))
{
int i;
for(i = 3;i<100;i++)
{
f[i] = (a*f[i-1]+b*f[i-2])%7;
if(f[i-1]==1&&f[i]==1)
{
break;
}
}
m = i-2;
f[0] = f[m];
printf("%d\n",f[n%m]);
}
return 0;
}
把m = i-2提到循环外面就A了,举个例子、当输入7 7 x的时候、、、、f数组变成了1,1,0,0,0,0,0,0,0…
这样还是有问题的,不过能过hdu数据,把m设为大于100,000,000的值
好吧、第一篇博客就献给了hdu1005
相关文章推荐
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 肯特·贝克:改变人生的代码整理魔法
- 新注册
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- 四大漏洞入侵博客
- CreateWeb.vbs 代码
- Lua中编译执行代码相关的函数详解
- 更有效率的css代码编写第1/3页
- 在Ubuntu系统上安装Ghost博客平台的教程
- 代码中到底应不应当写注释?
- SQL语言查询基础:连接查询 联合查询 代码
- 论坛头像随机变换代码
- .NET 常用功能和代码小结
- C#实现压缩HTML代码的方法
- asp编程中常用的javascript辅助代码第1/2页
- C#超实用代码段合集