TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
 
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre class="cpp" name="code" code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179"><pre class="cpp" name="code" code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131210_3_5973071" class="cpp" name="code">/************************************************************************/
- /*
- 75. 求阶乘N!。
- 设输入的N最大可使N!达到100位,
- 要求打印出全部有效数字。方法如下:用数组M[100]代表一个100位的数。
- M[1]代表最高位,M[100] 代表最低位。先对M[100]置1,其余各元素置零,然后从1到N进行累乘。
- 同通常作乘法一样,数组M与I(1≤I≤N)相乘时,从低位数乘起,乘积大于9时进到上一位去,
- 然后将结果打印(从头一个不等于零的位开始)。
- */
- /************************************************************************/
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include <string.h>
-
- void main()
- {
- int M[100]={0};
- M[99]=1;
- for (int i=1;i<100;i++)
- {int JW=0;
- for (int j=99;j>=0;j--)
- {
-
- int num=M[j]*i+JW;
- if (num>9)
- {
- M[j]=num%10;
- JW=num/10;
- }
- else
- {
- M[j]=M[j]*i+JW;
- JW=0;
- }
- }
- }
- int i=0;
- while(M==0)
- i++;
- while(i<100)
- {
- printf("%d",M);
- i++;
- }
- system("pause");
- }</pre><br><br><br></pre></pre></pre>
|
|