hdu-1719 Friend

http://acm.hdu.edu.cn/showproblem.php?pid=1719

本题为规律题,找到规律后一般比较好做

 

#include<stdio.h>
int main()
{
  int n;
  while(~scanf("%d",&n)){
     if(n==1||n==2){
        printf("YES!\n");
        continue;              
     }
     if(n==0){
       printf("NO!\n");
       continue;        
     }                     
    n++;
    while(n){
       if(n%2==0){
          n/=2;          
       }      
       else
         break; 
    }
    while(n){
      if(n%3==0){
         n/=3;          
      }      
      else
         break; 
    }
    if(n==1)
    {
       printf("YES!\n");                  
    }       
    else
       printf("NO!\n");
  }
return 0;   
}      只要满足此条件的就行 n=(2^x)*(3^y)-1;
posted @ 2014-08-25 16:44  wojiaohuangyu  阅读(6)  评论(0)    收藏  举报