首页 > 学院 > 开发设计 > 正文

杭电1018

2019-11-08 03:11:34
字体:
来源:转载
供稿:网友

  题意求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;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表