• hdu 1165 Eddy's research II


       在本题给到以下图片,我当时候第一想法是使用递归,但是根据题目中给出的数据大小去想的话,递归会超时.

      在经过实例测试之后,接下来看实例(作者只写了一部分)

    如图可以看出(输出值sum)

        m==0   sum=n+1;

        m==1   sum=m+n+1;

      m==2   sum=2*(n+1)+1;

        m==3    sum=2^(n+3)-3;

    大家可以自己动手实践一下,下面附上代码

     1 #include<iostream>
     2 using namespace std;
     3 int quickmi(int a, int b)
     4 {
     5     int ans=1,base=a;
     6     while(b!=0)
     7     {
     8         if(b&1==1)
     9         ans*=base;
    10         base*=base;
    11         b>>=1;
    12     }
    13     return ans;
    14 }
    15 int main()
    16 {
    17     int m,n;
    18     while(cin>>m>>n)
    19     {
    20         if(m==3)
    21         {
    22             if(n>24)
    23             {
    24                 break;
    25             }
    26             else
    27             {
    28                 cout<<quickmi(2,n+3)-3<<endl;
    29             }
    30         }
    31         else
    32         {
    33             if(m==0)
    34             {
    35                 cout<<n+1<<endl;
    36             }
    37             if(m==1)
    38             {
    39                 cout<<m+n+1<<endl;
    40             }
    41             if(m==2)
    42             {
    43                 cout<<2*(n+1)+1<<endl;
    44             }
    45         }
    46     }
    47 }
  • 相关阅读:
    迷宫寻宝(自编简单版)
    推荐一个免费翻译接口
    nyoj 82
    poj 3984
    Suffix Tree(后缀树)
    python turtle模块绘图
    python continue语句
    python break语句
    pycharm永久破解激活码
    python while死循环
  • 原文地址:https://www.cnblogs.com/Yinchen-One/p/8603963.html
Copyright © 2020-2023  润新知