#include
#include
const int maxn = 3000;
int f[maxn];
int main()
}for(j = maxn-1; j >= 0; j--) if(f[j]) break;
for(i = j; i >= 0; i--) printf("%d", f[i]);
printf("\n");
return 0;
}//原來計算階乘是這樣的
#include
long int f(int n)
int main()
//當數很大很大很大的時候,第二種方法就需要改進,第一種方法精度比較高
//即使是unsigned long long 最大表示也是18446744073709551615
//而30!已經比這個數大很多了
//就算是想要把超過的進製放到另乙個unsigned long long 裡也
//沒法實現,因為超出的進製根本就拿不到啊.....
//嗯我要變成方法一的死忠粉了....
//有沒有其他辦法呢?......待老衲想想....
memset
void *memset(void *s, int ch,
size_t n);
函式解釋:將s中當前位置後面的n個位元組 (typedef unsigned int size_t )用 ch 替換並返回 s 。
memset:作用是在一段記憶體塊中填充某個給定的值,它是對較大的
結構體或
陣列進行清零操作的一種最快方法
[1]。
演算法競賽入門經典 第五章因子和階乘
include include int is prime int n int prime 100 count 0 int main for int i 0 i maxp i printf d p i printf n return 0 分析思路 1.將n 1 2 3.n每乙個乘積項進行素數乘積的檢驗...
演算法競賽入門經典第五章
例 5.1.3 週期串 fgets str,max,stdin scanf s str fgets 函式執行後,str會讀到 n 符號停下,也就是提取一行,n 也被讀進字串,因此strlen str 會比原本輸入的字串多乙個 除了一種很特殊的情況,讀入一行時,只一行並不是以 n 結束,而是以eof結...
演算法競賽入門經典 第五章 6174
假設你有乙個各位數字互不相同的四位數,把所有數字從大到小排序後得到a,從小到大排序後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 3087,8370 378 8352,8352 2358 6174,有趣的是,7641 1467 6174,回到...