当前位置: 首页 > article >正文

使用函数求e的近似值(PTA)C语言

自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。本题要求实现一个计算阶乘的简单函数,使得可以利用该函数,对给定的非负整数n,求该级数的前n+1项和。

函数接口定义:

double fact( int n );

其中n是用户传入的参数,函数返回n的阶乘。

裁判测试程序样例:

#include <stdio.h>

double fact( int n );

int main(void)
{    
    int i, n;
    double sum; 

    scanf("%d", &n);
    sum = 1;
    for(i = 1; i <= n; i++){
        sum = sum + 1.0/fact(i); 
     }
     printf("%f\n", sum);

    return 0;
}

/* 请在这里填写答案 */

输入样例:

10

输出样例:

2.718282

代码:

double fact(int n){
     double num=1;
    int i;
    for(i=1;i<=n;i++){
        num*=i;
    }
    return num;
}

e5a03efb63634ed49196fca54fe44c19.pngd2de2d3c8ab84fe789909376da13800e.png 

虽然运行结果与输出样例不完全一样,但能全通过测试点。

这两个值实际上是非常接近的,它们之间的差异可能是由于浮点数的内部表示和舍入造成的。在大多数情况下,这种微小的差异是可以接受的,尤其是在涉及到浮点数的计算时。

裁判测试程序通常会有一定的容错范围,允许结果在一定的误差范围内被认为是正确的。这意味着,只要计算结果在某个合理的误差范围内接近预期值,它通常就会被认为是正确的,即使它不完全匹配样例输出。

如果要使运行结果与输出样例完全一致,需要精准的控制输出格式,如printf("%.6f\n", sum);

愿我们都能成为我们想要去成为的人!

祝我们永远不缺全盘推翻重来的勇气!

愿我们长歌有和,独行有灯!

 

 

 


http://www.kler.cn/a/466515.html

相关文章:

  • 云架构Web端的工业MES系统设计之区分工业过程
  • 【CSS】第一天 基础选择器与文字控制属性
  • 模型 九屏幕分析法
  • Mysql数据实时同步到Es上
  • ThreadPoolExecutor keepAliveTime 含义
  • dbeaver导入导出数据库(sql文件形式)
  • 【硬件测试】基于FPGA的2FSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
  • 阻抗(Impedance)、容抗(Capacitive Reactance)、感抗(Inductive Reactance)
  • 【Docker】:Docker容器使用
  • 野火直播 5.9.5 | 频道丰富的电视直播软件,支持港澳台频道和快速换台
  • 【深度学习】Java DL4J基于 LSTM 构建新能源预测模型
  • vue学习第一阶段
  • MacBook_Xcode_Swift雨燕
  • 深度学习中的离群值
  • 27、使用StreamPark管理Flink作业中,关于对Flink客户端的conf进行占位符替换的修改
  • 将数组转换为laravel中的对象
  • ts中 type 和 interface 定义类型有什么区别?
  • 【Unity】【图形渲染】Unity Shader基础操作3:内置文件与包含文件的使用
  • 实时数仓与离线数仓的全面对比
  • 上升沿下降沿递增
  • 高等数学学习笔记 ☞ 函数的极限
  • 微信小程序滑动解锁、滑动验证
  • git 退出编辑模式
  • AI对嵌入式开发行业的影响
  • 家政上门小程序如何创建?家政服务怎么能少了小程序帮手
  • Unity 对Sprite或者UI使用模板测试扣洞