输入N(1 <= N <= 10^6)
输出N的阶乘的长度
6
3
n的长度len(n)=log10(n)+1,直接去掉小数点后的部分
所以len(n!)=log10(1*2*……*n)=log10(1)+log10(2)+……+log10(n)
#include<cstdio> #include<cmath> using namespace std; int main() { int n; double ans=0; scanf("%d",&n); for(int i=1;i<=n;i++) ans+=log10(i*1.0); int k=int(ans); printf("%d",k+1); }
-----------------------------------------------------------------------------
#include<cstdio> using namespace std; int main() { double a=5.634; printf("%.0lf\n",a);//6 printf("%.lf\n",a);//6 printf("%g\n",a);//5.634 int b=(int)a;//a仍是原类型 printf("%d\n",b);//5 直接去掉小数点 printf("%.0lf\n",a);//6 printf("%.lf\n",a);//6 printf("%g\n",a);//5.634 }