A: 答案-3249
求第一个阶乘位数>=10000的正整数
公式:位数=log10(1)+log10(2)+...+log10(n)+1 再取整
举个例子:log(123)=2.08991 取整+1=3;
n!=1*2*3*.....*n; lg(n!)=lg(2)+......lg(n);
1 int main() 2 { 3 double s=0; 4 for(int i=1;;i++){ 5 s+=log10(i); 6 if(int (s+1)>=10000){ 7 cout<<i<<endl; 8 break; 9 } 10 } 11 12 return 0; 13 }
素数筛法:https://www.cnblogs.com/nonames/p/12078839.html
原文地址:https://www.cnblogs.com/simaomao/p/12225774.html
时间: 2024-10-20 03:59:27