学java的应该都知道java中可以直接调用一个类进行大数据运算,但是可悲的是c却不能直接调用什么函数,必须完全自己写,唉,,,
下面这段代码就是自己写的一个阶乘和的大数据运算,其实知道大数据的乘法之后对于大数据的除法加减法都可以用同样的思路来解决,异曲同工之妙啦。
题目是求n!+(n-1)!+......2!+1!很明显当n稍微大的时候int类型或者long long类型都没有足够大的长度来储存结果,因此我们只能通过数组来储存
下面附自己的代码
- #include<stdio.h>
- #include<string.h>
- #include<stdlib.h>
- int main()
- {
- int i,k=1;
- int a[100];
- memset(a,0,sizeof(a));
- a[0]=1;
- scanf("%d",&i);
- for(int b=1;b<=i;b++)
- {
- int y=0;
- int x=0;
- for(int j=0;j<100;j++)
- {
- x=a[j]*b+y;
- a[j]=x%10;
- y=x/10;
- }
- }
- int d;
- for(int z=99;z>=0;z--)
- {
-
- if(a[z]!=0)
- {
- d=z;
- break;
- }
- }
- for(int m=d;m>=0;m--)
- {
- printf("%d",a[m]);
- }
- system("pause");
- return 0;
- }
复制代码 不过还是没有注释,所以有不懂的同学可以留言
|
|