题目链接 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
时间: 2024-10-07 11:35:27