杭电1021

来源:互联网 发布:js删除一个div内容 编辑:程序博客网 时间:2024/05/17 02:56

题目大意是,给了你一个新的类似于斐波那契的递推式,问你第n个数是不是3的倍数。

这种题目不外乎2种方法:
1 找规律

2 数论

先看看找规律行不行,因为这是最简单。

[plain] view plaincopy
  1. 7 11 18 29 47 76 123 199 322  521 843 1364  2207  3571  5778  
  2. 0 1  2  3  4  5  6   7   8     9  10  11     12    13   14  
  3. 1 2  0  2  1  1  0   1   1    2   0    2     2     1   0  

写几行代码计算一下前几个数值,第一行是值,第二行是编号,第三行是余3的值,可以看到基本上就是从第3个数开始,4个一循环,可以多求几个看看,当然提交之后发现过了,说明这个规律找对了。

[cpp] view plaincopy
  1. #include<stdio.h>  
  2. int n  
  3.   
  4. int main()  
  5. {  
  6.  while(scanf("%d",&n)!=EOF)  
  7.  {  
  8.    if(n%4==2) printf("yes\n");    
  9.    else   printf("no\n");    
  10.  }  
  11.  return 0;  
  12. }  

0 0