杭电1018

来源:互联网 发布:天津速达软件 编辑:程序博客网 时间:2024/06/16 20:06

  题意求N!的位数,n的范围是10^7.

  求一个数a有多少位可以用log10(n)+1,(n)为double类型

  求N!可以用 log10(1)+log10(2)+...+log10(n)+1;

#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std;#define cl(a,b) memset(a,b,sizeof(a))#define maxn 1000int main(){   int t;   cin>>t;   while(t--){    int n;    cin>>n;    double sum=0;    for(int i=1;i<=n;i++)sum+=log10((double(i)));    cout<<(int)sum+1<<endl;   }   return 0;}


  



  求N!可以用 log10(1)+log10(2)+...+log10(n)+1;
0 0