转载:http://blog.csdn.net/ashuai81/article/details/8779720
N!求解位数
下面介绍两种方法直接求阶乘结果的位数:
方法一
即:
代码:
- #include "iostream"
- #include "math.h"
- using namespace std;
- int main()
- {
- int n;
- int i;
- double d;
- while (scanf("%d",&n)!=EOF)
- {
- d=0;
- for (i=1;i<=n;i++)
- {
- d+=(double)log10(i);
- }
- printf("%d\n",(int)d+1);
- }
- return 0;
- }
方法二
直接求N!的位数