黑马程序员技术交流社区

标题: 关于c的大数据运算(原创) [打印本页]

作者: Sniper_YJ    时间: 2014-5-16 00:32
标题: 关于c的大数据运算(原创)
学java的应该都知道java中可以直接调用一个类进行大数据运算,但是可悲的是c却不能直接调用什么函数,必须完全自己写,唉,,,
下面这段代码就是自己写的一个阶乘和的大数据运算,其实知道大数据的乘法之后对于大数据的除法加减法都可以用同样的思路来解决,异曲同工之妙啦。
题目是求n!+(n-1)!+......2!+1!很明显当n稍微大的时候int类型或者long long类型都没有足够大的长度来储存结果,因此我们只能通过数组来储存
下面附自己的代码
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. int main()
  5. {
  6.     int i,k=1;
  7.     int a[100];
  8.     memset(a,0,sizeof(a));
  9.     a[0]=1;
  10.     scanf("%d",&i);
  11.     for(int b=1;b<=i;b++)
  12.     {
  13.         int y=0;
  14.         int x=0;
  15.         for(int j=0;j<100;j++)
  16.         {
  17.             x=a[j]*b+y;
  18.             a[j]=x%10;
  19.             y=x/10;
  20.         }
  21.     }
  22.     int d;
  23.     for(int z=99;z>=0;z--)
  24.     {
  25.         
  26.         if(a[z]!=0)
  27.         {
  28.             d=z;
  29.             break;
  30.         }
  31.     }   
  32.     for(int m=d;m>=0;m--)
  33.     {
  34.         printf("%d",a[m]);
  35.     }        
  36.     system("pause");
  37.     return 0;
  38. }
复制代码
不过还是没有注释,所以有不懂的同学可以留言



作者: 白羊爱芒果    时间: 2014-5-16 13:51
不懂,学IOS和大数据也有关系吗
作者: Sniper_YJ    时间: 2014-5-16 15:21
这是关于c语言的一个算法啦
作者: 白羊爱芒果    时间: 2014-5-16 20:35
你是不是对大数据也很有兴趣啊
作者: Sniper_YJ    时间: 2014-5-16 23:05
此大数据非彼大数据。。。
作者: 大龄产妇    时间: 2014-5-17 22:00
第三个头文件是干什么用的?
作者: Sniper_YJ    时间: 2014-5-17 22:05
mei sha yong ...
作者: qddnovo    时间: 2014-6-7 17:28
大...数据
作者: 抱0抱    时间: 2014-6-15 19:30
好多代码、、、不过模糊着能看懂点
作者: libra    时间: 2014-6-24 18:36
好难呐,看不懂
作者: baby14    时间: 2018-9-6 09:06
多谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2