您的位置:首页 > 大数据 > 人工智能

hdu 1021 Fibonacci Again

2016-05-01 21:50 405 查看

题目分析

这里题目意思我就不说了,直接讲分析。我记得以前看过的一个东西就是如果如果一个数能被3整除那么这个数各个数位上的数相加的和一定能整除3,举一些例子大家看一下3,6,9,12,15,21,36,45,102,132,于是我就直接将大于10的数的各位数字直接相加然后得到0~1000000的f值,然后判断是否整除3,这样就可以得出结论了。

#include <cstdio>
const int maxn = 1000005;
int f[maxn];

int main()
{
f[0] = 7,f[1] = 2; //这里的2是11的个位与十位相加的结果
for(int i = 2; i < maxn; i++) //预处理
{
f[i] = f[i-1]+f[i-2];
if(f[i] >= 10)
f[i] = f[i]/10 + f[i]%10;
}
int n;
while(scanf("%d", &n) != EOF)
{
if(f
%3) printf("no\n");
else printf("yes\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: