HDU1018(数学题)

xiaoxiao2021-02-28  12

题意, 数据数目T 接下来T行,每行一个数字n,输出n!的位数; code:

一前做过,现在突然一看还有些懵,学的还不扎实啊… 数学题的做法 : n!用科学计数法表示.x表示整数,y表示小数

这样只要暴力求出公式左边,然后取整加一输出就OK了

#include<cstdio> #include<cmath> int main() { int n,T; double res=0; while(scanf("%d",&T)!=EOF) { while(T--) { scanf("%d",&n); res=0; for(int i=1;i<=n;i++) res+=log10(i*1.00); // printf("%f\n",res); printf("%d\n",int(res)+1); } } return 0; }
转载请注明原文地址: https://www.6miu.com/read-1100275.html

最新回复(0)