LINK:php
題意:求n!的位數~ios
因爲n!最後獲得的數是十進制,故對於一個十進制數,求其位數能夠對該數取其10的對數,最後再加1~ui
易知:n!=n*(n-1)*(n-2)*......*3*2*1spa
∴lg(n!)=lg(n)+lg(n-1)+lg(n-2)+......+lg(3)+lg(2)+lg(1);code
代碼:blog
1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 using namespace std; 5 6 int main() 7 { 8 int t; 9 scanf("%d",&t); 10 while(t--) 11 { 12 double i,n,sum; 13 scanf("%lf",&n); 14 for(i=1,sum=0;i<=n;i+=1) 15 sum+=log10(i); 16 printf("%d\n",(int)sum+1); 17 } 18 return 0; 19 }
//memory:248KB time:406msget