一天一道算法题---6.11---大数阶乘

感谢微信平台----一天一道算法题----每天多一点进步

大数的概念 感觉是我接触acm 1 2 个月之后才有的....64位的Long long 和 __int64 也大概都是那时候才有的..

大数 相加 相乘 相除 求余  相减不知道 有没有。。。

都是应该要掌握的..

可能 我也会陆续把上面的全慢慢贴上来

// 呆会就直接把 微信提供的代码给贴上来了  先要去次午饭了 早饭 午饭永远是连一起的 ..........

// 刚刚碰到个最小生成树的题 第一次用了邻接表去做 蛮cool == 一起贴上来

 来自 刘汝佳 大神的代码~~

 1 // 大数阶乘
 2 
 3 #include <iostream>
 4 #include <cstring>
 5 using namespace std;
 6 
 7 const int size = 5200;
 8 int result[size];
 9 
10 int main()
11 {
12     int i , j , n;
13     int temp , sum;
14     while( ~scanf("%d",&n) )
15     {
16         memset( result , 0 , sizeof(result) );
17         result[0] = 1;
18         for( i = 2 ; i<=n ; i++ )
19         {
20             temp = 0;
21             for( j = 0 ; j<size ; j++ )
22             {
23                 sum = result[j]*i + temp;
24                 result[j] = sum % 10;
25                 temp = sum / 10;
26             }
27         }
28         for( j = size-1 ; j>=0 ; j-- )
29             if( result[j] )
30                 break;
31         for( i = j ; i>=0 ; i-- )
32             printf( "%d",result[i] );
33         printf( "
" );
34     }
35     return 0;
36 }
View Code
just follow your heart
原文地址:https://www.cnblogs.com/radical/p/3781689.html