zoukankan      html  css  js  c++  java
  • (周日赛1)Friend

    自己尝试推 但是没有推出来 太不机智了!后来提交的时候还忘记加‘!’ wa了好几次也没发现=。=

    ///转

    首先,原式ab+a+b = ab+a+b+1-1 = (a+1)*(b+1)-1

    令a = (a1+1)*(a2+1)-1;

    b = (b1+1)*(b2+1)-1;

    代入原式中可得:n = (a1+1)*(b1+1)*(a2+1)*(b2+1)-1;

    因为原式的朋友数都是由1,2推到出来的

    所以递推到最底层,那么(a1+1)*(b1+1)*(a2+1)*(b2+1)肯定是2,3的倍数(即是1+1,2+1)

    所以最后就是要解决n+1得到的数到底是不是只有2,3这些因子

    Problem Description

    Friend number are defined recursively as follows.

    (1) numbers 1 and 2 are friend number;

    (2) if a and b are friend numbers, so is ab+a+b;

    (3) only the numbers defined in (1) and (2) are friend number.

    Now your task is to judge whether an integer is a friend number.

    Input

    There are several lines in input, each line has a nunnegative integer a, 0<=a<=2^30.

    Output

    For the number a on each line of the input, if a is a friend number, output “YES!”, otherwise output “NO!”.

    Sample Input

    3

    13121

    12131

    Sample Output

    YES!

    YES!

    NO!

     1 #include<stdio.h>
     2 
     3 int main()
     4 
     5 {
     6 
     7     __int64 n;
     8 
     9     while(~scanf("%I64d",&n))
    10 
    11     {
    12 
    13         if(!n) 
    14 
    15         {
    16 
    17         puts("NO!");
    18 
    19         continue;
    20 
    21         }
    22 
    23         n++;
    24 
    25         while(n%2==0||n%3==0)
    26 
    27         {
    28 
    29         if(n%2==0)  n/=2;
    30 
    31         else if(n%3==0)    n/=3;
    32 
    33         }
    34 
    35         if(n==1)
    36 
    37         puts("YES!");
    38 
    39         else puts("NO!");
    40 
    41     }
    42 
    43     return 0;
    44 
    45 }
    View Code
  • 相关阅读:
    iOS 完整学习路线-(基本)
    iOS不要在任性的年纪 选择安逸
    swift晋级之路
    ios晋级之路-一些需要注意的地方
    ios晋级之路-tableView数据源方法详解
    ios晋级之路-URL Scheme使用和指南
    数据结构-链表C语言实现
    数据结构-链表插入节点
    ios晋级之路-本地存储
    html5晋级之路-bootstrap css代码
  • 原文地址:https://www.cnblogs.com/awsent/p/4266839.html
Copyright © 2011-2022 走看看