权势二进制 51Nod

题目链接 https://vjudge.net/problem/51Nod-1413

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

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

题解 : 水题,所有位 中最大的那个数就是答案

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;

int main()
{
    string s;

    while(cin >> s){
            char m = '0';
        for (int i = 0; i < s.size(); i++)
        {
            m = max(m, s[i]);
        }
        int ans = (int)m - '0';
        cout << ans << endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/hulian425/p/12237040.html