杭电 1018

来源:互联网 发布:淘宝禁止发布 编辑:程序博客网 时间:2024/05/30 05:08

位数公式

需用到log10()函数,注意是double型。

设n!=10^m,设x>=m,x取最小值加1,即x=log10n!+1。

附上代码:

#include<stdio.h>#include<math.h>int main(){    int i,j,k,n,m;    double s;    scanf("%d",&n);    for(i=0;i<n;i++)    {        s=0.0;        scanf("%d",&m);        for(j=1;j<=m;j++)        {            s+=log10((double)j);        }        printf("%d\n",(int)s+1);    }    return 0;}


0 0
原创粉丝点击