首页 > 其他分享 >7-4 计算前n项的和

7-4 计算前n项的和

时间:2023-11-21 23:34:43浏览次数:21  
标签:int double add 详情 计算 fact

7-4 计算前n项的和

目录

目录

题目

编程计算

其中n的值在程序运行时由键盘输入。

输入格式:
输入一个正整数。

输出格式:
输出一个浮点数。

输入样例:
在这里给出一组输入。例如:

10
输出样例:
在这里给出相应的输出。例如:

0.841471

代码

思路

由题可知,将计算拆分成每一小块add,然后再拆分成上面pow(-1,n-1)和下面的阶乘函数fact(2*n-1)
pow(-1,n-1)当n-1为偶数时,add为正,否则add为负。

第一次尝试

#include<stdio.h>
double fact(int m)
{
    int k=1;
    for(int i=2;i<=m;i++)
    {
        k=k*i;
    }
    return k;
    
}
int main()
{
    double i=-1,sum=0;
    int n=1;
    scanf("%d",&n);
    for(int j=1;j<=n;j++)
    {
        double add=pow(i,j-1)/fact(2*j-1);
        sum+=add;
    }
    printf("%.6f",sum);
    return 0;
}
评测详情


错了一个测试点

错误分析

经过一点点尝试,终于发现double fact(int m)函数的返回值的类型错误,本应返回double型变量,第一次代码却返回了int型,使结果错误。

第二次正确

#include<stdio.h>
double fact(int m)
{
    double k=1;
    for(int i=2;i<=m;i++)
    {
        k=k*i;
    }
    return k;
    
}
int main()
{
    double i=-1,sum=0;
    int n=1;
    scanf("%d",&n);
    for(int j=1;j<=n;j++)
    {
        double add=pow(i,j-1)/fact(2*j-1);
        sum+=add;
    }
    printf("%.6f",sum);
    return 0;
}
测评详情

标签:int,double,add,详情,计算,fact
From: https://www.cnblogs.com/wa2211lq/p/17847899.html

相关文章

  • 计算机网络之策略路由与双机热备
    一.策略路由随着网络工程的不断发展,基本的路由选择已经满足不了网络工程师的网络搭建了,基本路由选择就是查路由表来选择下一跳的路由但是,这种路由选择无法实现负载均衡,也就是当路由中有两条相同的路径时,只会有一条路径被选择,另外一条路由很少被选择所以就衍生出来了策略路由,它......
  • 用python计算圆周率PI
      importrandomdefmonte_carlo_pi(num):"""接收正整数为参数,表示随机点的数量,利用蒙特卡洛方法计算圆周率返回值为表示圆周率的浮点数"""#====================Begin===================================a=0count=0whilea<times:......
  • 现代计算机网络的演变与应用
    引言:计算机网络已经成为我们日常生活中不可或缺的一部分。无论是在家庭、学校还是工作场所,我们都离不开与他人和外部世界的连接。随着科技的发展,计算机网络也在不断演变和进步,为我们带来了更多便利和机遇。本文将介绍计算机网络的发展历程、重要应用以及未来趋势。正文:一、计算机网......
  • 基于springboot的校园失物招领系统-计算机毕业设计源码+LW文档
    校园失物招领系统介绍在现代大学校园中,失物招领系统是一个至关重要的组成部分,旨在为学生、教职员工和访客提供便捷的失物招领服务。本文将介绍一个基于SpringBoot的校园失物招领系统,该系统结合了现代技术和用户友好的界面,提供了高效、安全和快速的失物招领流程。系统架构该系统采......
  • 基于Springboot教学管理系统-计算机毕业设计源码+LW文档
    摘 要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装教学管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,教学管理系统的有效运用......
  • 基于vue技术的农业设备租赁系统-计算机毕业设计源码+LW文档
    摘 要使用旧方法对农业设备租赁系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在农业设备租赁系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的农业设备租赁系统对收货地址管理、字典管理......
  • 计算机科学与技术之网络编程 Windows下VC6.0 网络SOCKET编程C语言实现(服务端)
    在VC6.0平台用C语言实现网络SOCKET通信一.在VC6.0平台创建Win32ConsoleApplication工程工程名称自拟(或输入firstSocket)添加新建项文件C++SourceFile 文件名自拟,后缀.c(如firstSocket.c)在firstSocket.c加入头文件#include<winsock2.h>链接动态库#pragmacomment(l......
  • 计算几何板子
    #definei128longlonginlinei128ABS(i128x){returnx<0?-x:x;}structfrac{ i128x,y; frac(){} frac(i128xx,i128yy=1ll):x(xx),y(yy){ if(y<0)x=-x,y=-y; } friendfracoperator+(fraca,fracb){returnfrac(a.x*b.y+a.y*b.x,a.y*b.y);} friendf......
  • 百度搜索万亿规模特征计算系统实践
    作者|Jay导读本文主要介绍百度搜索在全网万亿级规模内容做内容理解的工程实践,涉及机器学习工程化、资源调度、存储优化等多个Topic。全文6648字,预计阅读时间17分钟。01业务背景百度收录了互联网海量内容,要索引这些内容,需要先对内容做深度理解,提取包括内容语义、内容质量、内容安......
  • 科学计算时如何正确的使用超线程CPU——使用超线程CPU进行计算密集型任务时的注意事项
    现在这个AI火热的时代科学计算任务占比越来越大,但是平时使用时也有一些不为人注意的地方需要知道,本文就讨论一下使用超线程CPU时的注意事项。 超线程CPU就是现在的多线程CPU,以Intel和AMD的X86CPU为例,一个10个物理核心的CPU则有20个逻辑核心,其中多出来的10个核心就是超线程架构......