Tyvj 水题begin 求一个正整数位数的常用方法

来源:互联网 发布:荧光作图软件下载 编辑:程序博客网 时间:2024/06/06 00:31
正整数位数的判断方法~~~

  我总结了三种判断正整数位数的方法,相信大家一定会发现比我
多的,比我更叫巧妙的算法。。。

    第一种:使用数学函数log。。。

    第二种:使用printf函数的特殊性质

    第三种:利用模拟的思想,一步一步的求解~



/*        求一个正整数的位数的常用方法:        1.使用数学函数 log        2.利用printf函数的特殊性质        3.利用模拟的思想*/# include<cstdio># include<iostream># include<cmath>using namespace std;int main(void){    int i;    scanf("%d",&i);    printf("的位数%d",printf("%d",i));    return 0;}int main(void){    int m;    int i = 1;    cin>>m;    while( (m = m / 10) >= 1 )    {        i++;    }    cout<<i;    return 0;}/*这个不用特殊的解释吧,,相信大家一定能看懂,每一步让这个数字减少一位,直到这个数字为0,结束。。但一定要记住,要让i初始化为1,我一开始初始化为0,怎么做都是少一位。。*/int main(void){    long int a, b;    cin>>a>>b;    //int j = log10(m)+1;    long int j = log(a*b)/log(10) + 1;    cout<<j;  /*  对数运算是幂运算的逆运算。    z=x^y (z=x的y次方)那么就定义 y=logx(z),叫做以x为低z对数    所以你的求位数的运算就可以用10的对数来计算。    计算机的函数库一般都是提供了一e为低的对数,    而另一个公式就是    logx(y) = logm(y) / logm(x)这个转化底数的常用公式,再已知某一个底数对数的情况下,可以计算任意的底数对数。*/    return 0;}


0 0
原创粉丝点击