一个关于数列前几项和的简单c语言问题
答案:2 悬赏:0 手机版
解决时间 2021-04-03 23:28
- 提问者网友:箛茗
- 2021-04-03 18:19
一个关于数列前几项和的简单c语言问题
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-04-03 18:39
#include
long fct(int n);
int main(){
int n;
double sum = 1;
scanf("%d", &n);
if (n==0){//这个if-else没什么必要吧,sum本来就被你赋值为1了
sum = 1;
}
else{
for (int i=1; i<=n; i++){
sum += 1.0/fct(i);
}
}
printf("%.8f", sum);
return 0;
}
long fct(int n){
long rst;
if (n==0 || n==1){
rst = 1;
}
else rst = fct(n-1)*n;
return rst;
}
//修改后的程序为:
#include
int main(){
int n,ifct=1;
scanf("%d",&n);
double sum=1;
for(int i=1; i<=n; i++){
ifct*=1.0/i;
sum += ifct;
}
printf("%lf",sum);
return 0;
}
long fct(int n);
int main(){
int n;
double sum = 1;
scanf("%d", &n);
if (n==0){//这个if-else没什么必要吧,sum本来就被你赋值为1了
sum = 1;
}
else{
for (int i=1; i<=n; i++){
sum += 1.0/fct(i);
}
}
printf("%.8f", sum);
return 0;
}
long fct(int n){
long rst;
if (n==0 || n==1){
rst = 1;
}
else rst = fct(n-1)*n;
return rst;
}
//修改后的程序为:
#include
int main(){
int n,ifct=1;
scanf("%d",&n);
double sum=1;
for(int i=1; i<=n; i++){
ifct*=1.0/i;
sum += ifct;
}
printf("%lf",sum);
return 0;
}
全部回答
- 1楼网友:白昼之月
- 2021-04-03 19:46
都用DOUBLE类型的,需要的地方再强制类型转换。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯