1017: 判断正整数位数
题目描述
给定一个不多于5位的正整数,判断它是几位数,并输出。
输入
一个不多于5位的正整数。
输出
输出正整数的位数,单独占一行。
样例输入 Copy
111
样例输出 Copy
3
提示
使用函数log10(n),求出n的以10为底的对数,这个对数的整数部分,就是n的科学计数法中的指数,这个整数加1就是n的位数。
代码
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int a,s;
s=0;
cin>>a;
printf("%d",(int)log10(a)+1);
return 0;
}
相关知识
log函数
c标准头文件math.h中有两个与log有关的函数声明。
double __cdecl log(double _X);
double __cdecl log10(double _X);
其中log代表ln(即loge)。
log10顾名思义就是lg。
loge和log10可以直接表示了。
如果想表示logab的对数,可以用换底公式。
把logab换成以10或e为底的对数就好了。
例如:表示log28如下:
log28=lg8/lg2