大数的阶乘
来源:互联网 发布:手机双重曝光软件 编辑:程序博客网 时间:2024/05/16 01:22
#include"stdio.h"#define N 10000int a[N]={0};int b[N]={0};int fac(int ,int,int );int main(){int i;int temp,temp1;int n,m;a[0]=1;printf("please input a number:\n");scanf("%d",&n);m=2;temp1=1;fac(n,m,temp1);for(i=N;a[i]==0;i--)temp=i;for(i=temp-1;i>=0;i--)printf("%d",a[i]);return 0;} int fac(int n,int m,int temp2){int i,j,k,temp,temp1,flag;for(i=temp2+10;a[i]==0;i--)temp=i;for(i=0;i<temp || flag==1;i++){flag=0;temp1=a[i]*m;if((b[i]+temp1%10)>9){b[i+1]=b[i+1]+(b[i]+temp1%10)/10;}a[i]=(b[i]+temp1%10)%10;if(temp1>9) //对进位数组进行分析{for(j=i;temp1>0;j++){temp1=temp1/10;b[j+1]=b[j+1]+temp1%10;}for(k=i+1;k<=j+1;k++) //对进位的进位进行处理{b[k+1]=b[k+1]+b[k]/10;b[k]=b[k]%10;}}for(j=2*temp2;b[j]==0;j--); //判断进位数组剩下的进位数是否为零if(j>i){flag=1;}}temp2=i;for(i=0;i<=j;i++)b[i]=0;if(m<n)return fac(n,++m,temp2);return 0;}
0 0
- 大数阶乘-N的阶乘
- 大数的阶乘
- 模块化的大数阶乘
- mr 的大数阶乘
- 大数阶乘的算法
- 大数的阶乘
- 大数的阶乘算法
- 大数的阶乘
- 大数阶乘的求法
- 大数的阶乘
- 大数阶乘的代码
- 大数n的阶乘
- 大数的阶乘算法
- 大数的阶乘
- 大数的阶乘
- 大数n的阶乘
- 大数阶乘的实现
- 大数阶乘的实现
- SQL语句整理
- 配置管理系统
- CryENGINE3系列总结教程之UI/HUD(一)制作生命条弹药条Flash部分
- 天声人語 20141204
- big data security ebook
- 大数的阶乘
- 【笔记】第一类Stirling数和第二类Stirling数
- 黑马程序员——C语言基础——C语言中的关键字、标示符、数据、常量和变量
- 数据挖掘中所需的概率论与数理统计知识
- 【转】非常简单的JS代码 点击之后 高亮当前行
- R语言:plot(Nile) 错误于plot.new() : 图版边太大 的问题解决办法
- Myeclipse 创建ssh框架
- 设计模式之行为型模式(二)
- 工具栏按钮下拉菜单