go语言15的阶乘 阶乘1到20c语言程序

编程计算15的阶乘

#includeiostream

成都创新互联公司企业建站,10余年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都网站制作、成都网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。

#includevector

#includestring

#includealgorithm

using namespace std;

string add(const string a,const string b);

string multiply(const string a,char b);

string multi(const string a,const string b);

string factorial(int n);

int main()

{

coutfactorial(15);

return 0;

}

string add(const string a,const string b)

{

string sh,lo,r; int g=0;

if(a.size()b.size())

{

sh=string(a.size()-b.size(),'0');

sh+=b; lo=a;

}

else

{

sh=string(b.size()-a.size(),'0');

sh+=a; lo=b;

}

r.resize(sh.size());

for(int i=sh.size()-1;i=0;--i)

{

r[i]=sh[i]+lo[i]-48+g;

if(r[i]'9')

{

r[i]-=10;

g=1;

}

else

{

g=0;

}

}

if(g==1)

r="1"+r;

return r;

}

string multiply(const string a,char b)

{

string r;

r.resize(a.size()); int g=0;

if(b=='0')

return "0";

if(b=='1') //加快计算

return a;

for(int i=a.size()-1;i=0;--i)

{

r[i]=(a[i]-48)*(b-48)%10+48+g;

if(r[i]'9')

{

r[i]-=10;

g=((a[i]-48)*(b-48))/10+1;

continue;

}

g=((a[i]-48)*(b-48))/10;

}

if(g!=0)

r.insert(0,string(1,g+48));

return r;

}

string multi(const string a,const string b)

{

string r("0");

string *c=new string[b.size()];

for(int i=0;ib.size();++i)

{

c[i]=multiply(a,b[b.size()-1-i])+string(i,'0');

r=add(r,c[i]);

}

delete[] c;

return r;

}

string factorial(int n)

{

char b[7];

string r="1";

for(int i=1;in+1;++i)

{

itoa(i,b,10);

r=multi(r,b);

}

return r;

}

如果要计算15的阶乘,可以使用什么类型的变量,如何编写代码

long类型

long fac = 1L;

for(int i = 1; i =15; i++){

long = long * i;

}

System.out.pritnln(fac); //输出最终结果

15的阶乘等于多少

15的阶乘等于1307674368000。阶乘是基斯顿·卡曼于1808年发明的运算符号。阶乘,也是数学里的一种术语,阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。例如所要求的数是4,则阶乘式是1乘以2乘以3乘以4,得到的积是24,24就是4的阶乘。例如所要求的数是6,则阶乘式是1乘以2乘以3乘以4乘以4乘以6,得到的积是720,720就是6的阶乘。


网页标题:go语言15的阶乘 阶乘1到20c语言程序
分享地址:http://myzitong.com/article/ddjseps.html