hdu1018——Big Number(大数阶乘)
发布时间:2021-05-27 01:26:52 所属栏目:大数据 来源:网络整理
导读:Problem Description In many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data,encryption,etc. In this problem you are given a number,you have to determine the n
Problem Description In many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data,encryption,etc. In this problem you are given a number,you have to determine the number of digits in the factorial of the number. ? Input Input consists of several lines of integer numbers. The first line contains an integer n,which is the number of cases to be tested,followed by n lines,one integer 1 ≤ n ≤ 10 7?on each line. ? Output The output contains the number of digits in the factorial of the integers appearing in the input. ? Sample Input 2 10 20? Sample Output 7 19 n的位数=log10(n)+1,m=n!,=log10^1+log10^2+...+log10^n #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int main() { int n,m,i,ans; double t; scanf("%d",&n); while(n--) { scanf("%d",&m); t=0; for(i=2;i<=m;++i) t+=log10(i*1.0); ans=int(t)+1; cout<<ans<<endl; } return 0; } (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐