问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编程计算15的阶乘

发布网友 发布时间:2022-04-22 04:16

我来回答

5个回答

热心网友 时间:2024-01-02 23:12

#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
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()
{
cout<<factorial(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;i<b.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;i<n+1;++i)
{
itoa(i,b,10);
r=multi(r,b);
}
return r;
}

热心网友 时间:2024-01-02 23:12

你用double型就不会溢出了
如果非得要用整型那就用数组算.

热心网友 时间:2024-01-02 23:13

用长整型ld表示
#include<stdio.h>
void main()
{
long int a=1,b=1;
int i;
for(i=1;i<=15;i++)
{
a=b*i;
b=a;
}

printf("15!=%ld\n",b);
}

热心网友 时间:2024-01-02 23:13

用64位整数,__int64

热心网友 时间:2024-01-02 23:14

用long int
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 财务会计习题集 东莞信宸机械设备有限公司怎么样? 阶乘如何计算? 长汀县鑫榕宸钢管架租赁有限公司怎么样? 阶乘的公式是什么? 跪求东北财经大学出版社的 中级财务会计习题与案例... 织金县宸丰生态养殖农民专业合作社怎么样? 15的阶乘有几个约数 急求东北财经大学中级财务会计习题与案例(第二版... 江苏皓宸电动车科技有限公司怎么样? 1~10的阶乘(!)分别是多少? 花洒哪个牌子好 北京宸中裕医疗科技有限公司怎么样? 求东北财经大学《中级财务会计习题与案例》第二版答案 大数的阶乘 花洒顶喷什么材质的好 遂宁希宸生态农业开发有限公司怎么样? 求中南管理学教材课后习题答案以及历年考试答案 15的阶乘等于多少? 我是一名会计专业的大二学生,想专插本到嘉应学院... 如何写出一份优秀的程序员简历 财务会计题 财务会计习题 急 帮帮忙谢谢啦 用python怎么求15的阶乘 如果要计算15的阶乘,可以使用什么类型的变量,如何... 财务会计的题 黄金跳槽期到了,一个优秀程序员的简历应该怎么写 财务会计的判断题 C++15的阶乘 程序员个人简历怎么写 用c语言写的一个求阶乘的程序,最大智能求15的阶乘... 财务会计案例分析练习题,ABC公司的利润计划评价 阶乘的公式是什么 2015的阶乘是多少 苹果11手机怎么下载铃声 2015的阶乘末尾有几个0 苹果11怎么样下载手机铃声 计算阶乘15!,并检验其正确性,理解数据类型的取值... 中国银行的房贷每月手动还款? 阶乘15!/ 5!5!5!怎么算?