• Codeforces--630C--Lucky Numbers(快速幂)


    
    C - Lucky Numbers

    Crawling in process... Crawling failed Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u

    Description

    The numbers of all offices in the new building of the Tax Office of IT City will have lucky numbers.

    Lucky number is a number that consists of digits 7 and 8 only. Find the maximum number of offices in the new building of the Tax Office given that a door-plate can hold a number not longer than n digits.

    Input

    The only line of input contains one integer n (1 ≤ n ≤ 55) — the maximum length of a number that a door-plate can hold.

    Output

    Output one integer — the maximum number of offices, than can have unique lucky numbers not longer than n digits.

    Sample Input

    Input
    2
    
    Output
    6
    
    
    数字中只含有7或者8的成为Lucky Numbers,问n位以内的数字有多少个Lucky Numbers,总数应该就是2+2^2+....+2^n,数学公式变形之后就是2^(n+1)-2个,n+1可能比较大,所以快速幂解决
    #include<iostream>
    using namespace std;
    #define LL long long
    LL  p(LL x, LL n)
    {
        LL pw = 1;
        while (n > 0)
        {
            if (n & 1)      
                pw *= x;
            x *= x;
            n >>= 1;
        }
        return pw;
    }
    int main()
    {
        LL n;
        LL num;
        cin>>n;
        cout<<p(2,n+1)-2<<endl;
        return 0;
    }
    

  • 相关阅读:
    Redis详解
    Redis详细介绍
    memcache数据组织
    memcache细节解析
    memcached命令和配置
    PHP的Cookie、Session和跟Laravel相关的几点了解
    Session机制
    Cookie和Session详解
    Apache的Directory配置指南
    [C语言](二)01 获取Windows图形构件大小信息
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273417.html
Copyright © 2020-2023  润新知