题目传送门
题目大意
给出一个整数n,n的范围为1 < n < 10^7,计算n!的位数。
解题思路
计算n!的位数,及计算n!最高位是10的几次幂,即计算log10(n!),根据如下公式:
进行计算。
解题代码
#include <stdio.h> #include <math.h> int main() { int n, i; double sum; int temp; scanf("%d", &n); while(n-- != 0) { scanf("%d", &temp); sum = 0; for(i = 1; i <= temp; i++) { sum += log10(i * 1.0); } printf("%0.0lf\n", sum + 0.5); } return