51Nod-1413 权势二进制

6人阅读 评论(0) 收藏 举报
分类:

一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。

当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。

Input
单组测试数据。
第一行给出一个整数n (1<=n<=1,000,000)
Output
输出答案占一行。
Input示例
9
Output示例
9

对于输入的数,每次都减去一个权势二进制,直到串变为0就可以

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<cmath>
#include<iomanip>
#include<vector>
#include<map>
#include<queue>
#include<algorithm>
#define max(a,b)   (a>b?a:b)
#define min(a,b)   (a<b?a:b)
#define swap(a,b)  (a=a+b,b=a-b,a=a-b)
#define X (sqrt(5)+1)/2.0  //Wythoff
using namespace std;
typedef long long int LL;
const int MAXL(1e3);
const int INF(0x3f3f3f3f);
const int mod(1e9+7);
int dir[4][2]= {{-1,0},{1,0},{0,1},{0,-1}};
int main()
{
    ios_base::sync_with_stdio(false);
    string str;
    while(cin>>str)
    {
        string ss;
        for(int i=0; i<str.size(); i++)
            ss+='0';
        int len=0,i;
        while(str!=ss)
        {
            for(i=0; i<str.size(); i++)
            {
                if(str[i]!='0')
                    str[i]=str[i]-1;
            }
            len++;
        }
        cout<<len<<endl;
    }
}

查看评论

第03章-二进制、八进制、十进制、十六进制之间的转换

本课程内容如下: 第1节 二进制及十进制的由来 第2节 二进制、十进制、八进制、十六进制的表示方法 第3节 二进制和十进制之间的相互转换 第4节 二进制和八进制之间的相互转换 第5节 二进制和十六进制之间的相互转换 第6节 案例:把十进制IP转换成二进制表示形式 第7节 二进制算数运算和逻辑运算
  • 2017年02月27日 18:03

51nod-1413 权势二进制

1413 权势二进制 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 ...
  • qq_33951440
  • qq_33951440
  • 2016-11-04 09:56:15
  • 164

51NOD-1413 权势二进制

水题一道,但是很考察思路。 一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。 当给定一个n的时候...
  • qq_35859033
  • qq_35859033
  • 2017-07-06 17:59:02
  • 88

51Nod 1413 权势二进制(巧妙,贪心)

题目链接 这题真的是巧妙。。。答案就是每一位上最大值。 看别人代码想了好一会呀,弱呀。 列几个例子: 9999:9个1111相加就行了。结果是:9 8999:8个1111相加,8个1111相加,再...
  • qq_33850438
  • qq_33850438
  • 2016-03-04 08:27:24
  • 653

E - 权势二进制 哈尔滨理工大学软件学院大一个人赛训练

**一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。当给定一个n的时候,计算一下最少要多少个权势二进制相加才...
  • hello_sheep
  • hello_sheep
  • 2017-06-10 17:13:47
  • 139

51nod 1413:权势二进制

1413 权势二进制 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 ...
  • u010885899
  • u010885899
  • 2015-08-10 09:18:46
  • 796

权势二进制-51nod

1个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。 当给定一个n的时候,计算一下最少要多少个权势二进制相加才...
  • tree__water
  • tree__water
  • 2016-11-21 20:48:40
  • 345

51NOD 1413 权势二进制(思维)

传送门一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。 当给定一个n的时候,计算一下最少要多少个权势二进制...
  • qingshui23
  • qingshui23
  • 2016-07-01 12:38:58
  • 2305

51Nod - 1413 -权势二进制 (思维题)

一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。 当给定一个n的时候,计算一下最少要多少个权势二进制相加才...
  • qq_38712932
  • qq_38712932
  • 2018-02-02 21:57:17
  • 466

【51Nod】1413 权势二进制

题意一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。 当给定一个n(1...
  • JinbaoSite
  • JinbaoSite
  • 2017-06-03 19:35:22
  • 585
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 1486
    排名: 3万+
    最新评论