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) <<" ";
}
}
上一题
下一题