hdu 1021

hdu 1021
为啥少了一个else 就错了呢?
// 显然数据范围非常的大,测试a[ 10000 ]时已经无法正确的表示了
// 要用用相关的知识进行处理 : ( a  +  b )  %   3   =  ( a  %   3   +  b  %   3 %   3
# include <stdio.h>
#
include <stdlib.h>
#
include <string.h>

int a[
1000009 ];

int main ()
{
    int n;
    a[0] 
=   7   %   3 ;
    a[
1 =   11   %   3 ;  
    
for  ( int i  =   2 ; i  <   1000009 ; i  ++  )
    {
        a[i] 
=  ( a[i  -   1 +  a[i  -   2 ] )  %   3 ;
    }
    
    
while  ( scanf ( " %d " & n)  !=  EOF )
    {
          
if  ( !a[n] )
             printf (
" yes\n " );
          
else
           printf (
" no\n " );
    }
    
// system ( " pause " );
    
return  0;
}

你可能感兴趣的:(hdu 1021)