洛谷题解P1010 幂次方

作者: 海天一树X | 来源:发表于2019-03-28 15:34 被阅读8次

一、题目

https://www.luogu.org/problemnew/show/P1010

二、代码

#include<bits/stdc++.h>
using namespace std;

// 根据2的几次幂进行分解
string decompose(int num)
{
    if(num==0)
    {
        return "0";
    }

    string s = "";
    int exp = 0;  // 指数,比如2=2^1,则指数为1
    do
    {
        if(num & 1) // 判断奇数
        {
            // num=2时,exp==1才为真
            string tmp1 = exp==1 ? "2" : "2("+decompose(exp)+")";
            string tmp2 = s=="" ? "" : "+";

            // 拼接字符串,依题意,要把低次方接在后面
            s = tmp1 + tmp2 + s;
        }

        exp++;
    } while(num >>= 1);//每次向右移一位,即除以2

    return s;
}

int main()
{
    int x;
    cin>>x;
    cout<<decompose(x)<<endl;
    return 0;
}

少儿编程、信息学竞赛咨询请加微信307591841或QQ群581357582


信息学竞赛公众号.jpg

相关文章

  • 洛谷题解P1010 幂次方

    一、题目 https://www.luogu.org/problemnew/show/P1010 二、代码 少儿编...

  • 09 洛谷 P1010 幂次方(递归)

    题目链接 分析题意,发现其实就是先把输入的n减去能减去的2的最大的幂级,然后剩下的数也需要求出剩下的2的幂级。其实...

  • 微课报名I2017年VR该如何变现?

    幂次方学院VR大咖说第15期就要开讲了~ 幂次方学院VR大咖说是幂次方学院的一项特色活动,大咖说最初只是在学院内部...

  • LeetCode 力扣 50. Pow(x, n)

    题目描述(中等难度) 就是求幂次方。 解法一 求幂次方,用最简单的想法,就是写一个 for 循环累乘。 至于求负幂...

  • ^

    ^在C里不表幂次方的意思。

  • 洛谷P1025题解

    题目链接:洛谷P1025 题目描述 将整数分成份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:,下面...

  • 洛谷P1002题解

    少儿编程咨询、算法咨询请加微信307591841或QQ群581357582诺依曼算法公众号.jpg

  • Swift - LeetCode - 3 的幂

    题目 给定一个整数,写一个函数来判断它是否是 的幂次方。如果是,返回 ;否则,返回 。 整数 是 的幂次方需...

  • 习惯幂次方

    1、好习惯VS坏习惯 5点早起的黎明比12点的自然醒更有创造力。 1小时有氧运动比2小时电子游戏更保持身体健康。 ...

  • 成长幂次方

    父母生活,过的就是孩子。孩子就是西望。 女儿女婿工作都在北京城里,逢了疫情,闺女送宝宝来西南郊区,家里驻扎。 有凤...

网友评论

    本文标题:洛谷题解P1010 幂次方

    本文链接:https://www.haomeiwen.com/subject/vroqbqtx.html