51Nod 1413 权势二进制 ( 数学

来源:互联网 发布:泰州网络教育学历报名 编辑:程序博客网 时间:2024/05/15 06:00

1413 权势二进制

Description

一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。
当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。

Input

单组测试数据。
第一行给出一个整数n (1<=n<=1,000,000)

Output

输出答案占一行。

Sample Input

9

Sample Output

9

题解:

就是求一个数的位数最大值(不是很好想到的了

AC代码

#include <cstdio>#include <cstring>#include <cmath>#include <queue>#include <stack>#include <map>#include <set>#include <iostream>#include <vector>#include <algorithm>using namespace std;#define ll long longconst int mod = 1e9+7;char str[100];int main(){    scanf("%s",str);    int len = strlen(str);    sort(str,str+len);    printf("%d\n",str[len-1]-'0');return 0;}
1 0
原创粉丝点击