C++ 1+2!+3!+4!....20!
答案:5 悬赏:0 手机版
解决时间 2021-05-02 08:50
- 提问者网友:斑駁影
- 2021-05-02 04:54
帮写一下程序
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-05-02 06:12
#include <stdio.h>
void main()
{
long unsigned double s=0,t=1;
int ni=1,n;
printf("请输入N值:");
scanf("%d",&n);
while (ni<=n)
{
t=t*ni;
s=s+t;
ni++;
}
printf("%d的结果为:%.0f\n",n,s);
}
这是从1 加到N 的阶乘的程序,你改改就行了,不过,一定不能用INT 型的,要溢出的
全部回答
- 1楼网友:洎扰庸人
- 2021-05-02 08:48
因为 20! 超过int,或double 或long int的范围,所以我采用了unsigned long long ,
这个需要在linux下编译估计才算的出来。
普通的win32的机器估计算到后来都变成负数了吧。
- 2楼网友:十年萤火照君眠
- 2021-05-02 08:19
#include<iostream.h>
int fun(int s){
if(s==1&&s==0){
return 1;
}else{
return s*fun(s-1);
}
} void main() { int a=20; cout<<fun(a)<<endl; }
没编程工具大致应该可以。
- 3楼网友:英雄的欲望
- 2021-05-02 07:10
#include<iostream.h>
void main()
{
int i,t=1,sum=0;
for(i=2;i<=20;i++)
{
t*=i;
sum+=t;
}
cout<<sum<<endl;
}
- 4楼网友:往事埋风中
- 2021-05-02 06:33
#include <iostream>
using namespace std;
int main()
{
double s, t;
int i;
s = 0; t = 1;
for ( i = 1; i <= 20; ++i ) {
t *= i;
s += t;
}
cout << "1!+2!+3!+...+20! = " << s << endl;
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯