阶乘精确值
2015-03-25 22:21
176 查看
#include <iostream> #include <cstdio> #include <cstring> const int maxn = 3000; int main() { int str[maxn]; int n; int k; printf("请输入n\n"); scanf("%d",&n); memset(str,0,sizeof(str)); str[0] = 1; for(int i=1;i<=n;i++) { int c=0; for(int j=0;j<maxn;j++) { int s = str[j] * i + c; str[j] = s % 10; c = s / 10; } } for(int j=maxn-1;j>=0;j--) if(str[j]) { k = j;break;} for(int i=k;i>=0;i--) printf("%d",str[i]); printf("\n"); return 0; } 这个我想了许久。就是按照每一个数乘以相应的数。