如何学好七年级地理:求1000的阶的代码,有谁知道吗??

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 11:48:59

//ok1.h
//定义ElemType为int类型
typedef long ElemType;
//线性表顺序存储类型
struct LinearList
{
long * ok;//存线性表元素
//存list数组长度
};
long chang(LinearList &L,long&jie);
void chushi(LinearList&L,long&ms,long&ss);
void suan(LinearList&L,long&ms,long&ss);
void shuchu(LinearList&L,long&ms);
//ok2.cpp
#include <iostream.h>
#include<stdlib.h>
#include<math.h>
#include"ok2.h"
void shuchu(LinearList&L,long&ms)
{
for(long i=ms-1;i>=0;i--)
cout<<L.ok[i];
cout<<endl;
}
void suan(LinearList&L,long&ms,long&ss)
{
long i;
for(i=1;i<=ss;i++)
for(long j=ms-1;j>=0;j--)
{
L.ok[j]*=i;
for(long k=ms-1;k>=0;k--)
if(L.ok[k]/10!=0)
{
L.ok[k+1]+=L.ok[k]/10;
L.ok[k]%=10;
}
}

}
void chushi(LinearList&L,long&ms,long&ss)
{
L.ok=new long[ms];
for(long k=0;k<ms;k++)
{
if(k==0)
L.ok[k]=1;
else
L.ok[k]=0;
}
}
long chang(LinearList&L,long&jie)
{
long m=0;
double bb=0.0;
for(long i=1;i<=jie;i++)
bb+=log10(i);
m=long(bb)+1;
cout<<m<<endl;
return m;
}

//ok3.cpp
#include<iomanip.h>
#include<iostream.h>
#include"ok2.h"
void main()
{
LinearList a;
long am,jie;//5!
cout<<"请输入N:";
cin>>jie;
cout<<"求位数长度:";
am=chang(a,jie);
chushi(a,am,jie);
suan(a,am,jie);
cout<<"输出"<<jie<<"的阶乘:"<<endl;
shuchu(a,am);

}