直接插入排序,希尔排序
求大数阶乘:
// 1000 的阶乘 2568 位 #include <stdio.h> int a[3000]; void show(int k) { int i=0; printf("位数 %d 位\n",k); for (i=k-1; i>=0; i--) { printf("%d",a[i]); } } int fanc(int n) { int w=0; int i=0, j=0; int t=n; int k=0; // 表示数据的位数。 while(t) { a[i++] = t%10; t/=10; k++; } for (j=n-1; j>1; j--) { w=0; // 表示进位 for (i=0; i<k; i++) { t = a[i]*j+w; a[i] = t%10; w = t/10; } while(w) { a[i++] = w%10; w/=10; k++; } } return k; } int main() { int n; int k=0; scanf("%d",&n); k = fanc(n); show(k); printf("\n"); return 0; }
原文地址:https://www.cnblogs.com/jianqiao123/p/12041652.html
时间: 2024-11-06 11:32:44