求一个数阶乘的位数&N^N的位数(数学)

n!的位数=log10(1)+log10(2)+......+log10(n)取整后加一

 1 # include <iostream>
 2 # include <math.h>
 3 
 4 using namespace std;
 5 
 6 int main(void)
 7 {
 8     int n, t;
 9     cin >> n;
10     while(n--)
11     {
12         cin >> t;
13         double sum = 0;
14         for(int i = 1; i <= t; i++)
15         {
16             sum += log10(i);
17         }
18         cout << ((int)sum)+1 << endl;
19     }
20 
21     return 0;
22 }
N!的位数

 

N^N的位数

1 digit=(long long int)(n*log10(n))+1;//n^n的位数 这里是+1
N^N的位数

 

posted @ 2013-09-10 15:12  GLSilence  阅读(343)  评论(0编辑  收藏  举报