测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A21236. 进制数位

填空题 较难

题目描述

进制数位

题目描述

给定一个十进制正整数 n,请计算 n 在 2 进制到 16 进制下,各有多少位数字。

输入

一个正整数n。

输出

输出一行,表示在各种进制下各有多少数位。

输入样例1

3

输出样例1

2 2 1 1 1 1 1 1 1 1 1 1 1 1 1

输入样例2

31415926

输出样例2

25 16 13 11 10 9 9 8 8 8 7 7 7 7 7

数据范围

1≤n≤2×109


参考答案

#include<iostream> int decode(int n,int b){ int cnt = 0; while(n){ n /= b; cnt++; } return cnt; } int main() { int n; std::cin >> n; for(int i = 2; i <= 16 ;++i){ std::cout << decode(n,i) <<" "; } }
上一题 下一题