C#,欧拉常数(Euler Constant)的算法与源代码

1 欧拉常数

欧拉常数最先由瑞士数学家莱昂哈德· 欧拉 (Leonhard Euler) 在1735年发表的文章《De Progressionibus harmonicus observationes》中定义。欧拉曾经使用γ作为它的符号,并计算出了它的前6位,1761年他又将该值计算到了16位 。

欧拉常数最先由瑞士数学家莱昂哈德·欧拉(Leonhard Euler)在1735年发表的文章 De Progressionibus harmonicus observationes 中定义。欧拉曾经使用C作为它的符号,并计算出了它的前6位小数。1761年他又将该值计算到了16位小数。1790年,意大利数学家马歇罗尼(Lorenzo Mascheroni)引入了γ作为这个常数的符号,并将该常数计算到小数点后32位。但后来的计算显示他在第20位的时候出现了错误。欧拉数以世界著名数学家欧拉名字命名;还有一个鲜为人知的名字纳皮尔常数,用来纪念苏格兰数学家约翰·纳皮尔 (John Napier) 引进对数 。

2 计算结果

3 源程序

using System;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Number_Sequence
    {
        
        private static double doubleFactorial(int n)
        {
            if (n == 1) return 1;
            else return n * doubleFactorial(n - 1);
        }

        public static double Euler_Constant(int n)
        {
            if (n == 0) return 1;
            else return (1 / doubleFactorial(n) + Euler_Constant(n - 1));
        }
    }
}
 

欧拉常数(Euler-Mascheroni constant)

欧拉-马歇罗尼常数(Euler-Mascheroni constant)是一个主要应用于数论的数学常数。它的定义是调和级数与自然对数的差值。

学过高等数学的人都知道,调和级数S=1+1/2+1/3+……是发散的,证明如下:

由于ln(1+1/n)<1/n (n=1,2,3,…)

于是调和级数的前n项部分和满足

Sn=1+1/2+1/3+…+1/n>ln(1+1)+ln(1+1/2)+ln(1+1/3)+…+ln(1+1/n)

=ln2+ln(3/2)+ln(4/3)+…+ln[(n+1)/n]

=ln[2*3/2*4/3*…*(n+1)/n]=ln(n+1)

由于

lim Sn(n→∞)≥lim ln(n+1)(n→∞)=+∞

所以Sn的极限不存在,调和级数发散。

但极限S=lim[1+1/2+1/3+…+1/n-ln(n)](n→∞)却存在,因为

Sn=1+1/2+1/3+…+1/n-ln(n)>ln(1+1)+ln(1+1/2)+ln(1+1/3)+…+ln(1+1/n)-ln(n)

=ln(n+1)-ln(n)=ln(1+1/n)

由于

lim Sn(n→∞)≥lim ln(1+1/n)(n→∞)=0

因此Sn有下界

Sn-S(n+1)=1+1/2+1/3+…+1/n-ln(n)-[1+1/2+1/3+…+1/(n+1)-ln(n+1)]

=ln(n+1)-ln(n)-1/(n+1)=ln(1+1/n)-1/(n+1)

将ln(1+1/n)展开,取其前两项,由于舍弃的项之和大于0,故

ln(1+1/n)-1/(n+1)>1/n-1/(2n^2)-1/(n+1)=1/(n^2+n)-1/(2n^2)>0

即ln(1+1/n)-1/(n+1)>0,所以Sn单调递减。由单调有界数列极限定理,可知Sn必有极限,因此

S=lim[1+1/2+1/3+…+1/n-ln(n)](n→∞)存在。

于是设这个数为γ,这个数就叫作欧拉常数,他的近似值约为0.57721566490153286060651209,目前还不知道它是有理数还是无理数。在微积分学中,欧拉常数γ有许多应用,如求某些数列的极限,某些收敛数项级数的和等。例如求lim[1/(n+1)+1/(n+2)+…+1/(n+n)](n→∞),可以这样做:

lim[1/(n+1)+1/(n+2)+…+1/(n+n)](n→∞)=lim[1+1/2+1/3+…+1/(n+n)-ln(n+n)](n→∞)-lim[1+1/2+1/3+…+1/n-ln(n)](n→∞)+lim[ln(n+n)-ln(n)](n→∞)=γ-γ+ln2=ln2

4 代码格式

using System;namespace Legalsoft.Truffer.Algorithm
{public static partial class Number_Sequence{private static double doubleFactorial(int n){if (n == 1) return 1;else return n * doubleFactorial(n - 1);}public static double Euler_Constant(int n){if (n == 0) return 1;else return (1 / doubleFactorial(n) + Euler_Constant(n - 1));}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/677990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sql Server数据库软件里如何查看当前Sql Server服务运行的状态?

有时候我们会遇到sql server服务停止的情况&#xff0c;这可能会导致数据库无法正常访问和操作。 查看当前Sql Server服务运行的状态&#xff1a; 可以通过以下代码来检查服务状态&#xff1a; --检查sql server服务状态&#xff1a;EXEC xp_servicecontrol querystate, MSSQ…

2/10 BFS初探

其实在我看来解决全排列问题&#xff0c;核心还是顺序&#xff0c;想清楚结束条件&#xff0c;然后输出&#xff0c;以n3为例 #include<iostream> using namespace std; const int N 10; int path[N];//保存序列 int state[N];//数字是否被用过 int n; void dfs(int u) …

ubuntu彻底卸载cuda 重新安装cuda

sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" \"*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*" cuda10以上 cd /usr/local/cuda-xx.x/bin/ s…

Mac电脑清空特别大型旧文件如何一键清理?

在我们的数字生活中&#xff0c;Mac电脑常常承载着大量个人资料和重要文件。但当我们决定把自己的Mac送给亲人或朋友使用时&#xff0c;面临的首要任务便是彻底且高效地清空所有个人数据&#xff0c;以保证隐私安全。传统的删除方法虽然简单&#xff0c;但往往不能彻底清除所有…

问题:2、计算机网络的目标是实现________。 #媒体#知识分享

问题&#xff1a;2、计算机网络的目标是实现________。 A&#xff0e;数据处理 B&#xff0e;信息传输与数据处理 C&#xff0e;资源共享与信息传输 D&#xff0e;文献查询 参考答案如图所示

Windows系统的高效又炫酷的快捷键

Windows系统的高效又炫酷的快捷键 在Windows系统中&#xff0c;快捷键是一种提高工作效率的重要工具。掌握一些常用的快捷键可以让我们在操作电脑时更加得心应手。下面&#xff0c;我将为您介绍一些Windows系统中的高效又炫酷的快捷键&#xff0c;帮助您更好地使用电脑…

数据备份和恢复

数据备份和恢复 什么情况下会用到数据备份呢 数据丢失的场景 人为误操作造成的某些数据被误操作 软件BUG造成数据部分或者全部丢失 硬件故障造成数据库部分或全部丢失 安全漏洞被入侵数据恶意破坏 非数据丢失场景 基于某个时间点的数据恢复 开发测试环境数据库搭建 相同数据库的…

c语言中的隐式类型转换

数据类型转化 我们在实际编程中&#xff0c;不管你是有意的还是无意的&#xff0c;有时候都会让两个不同类型的数据参与运算&#xff0c;编译器为了能够生成CPU可以正常 执行的指令&#xff0c;往往会对数据做类型转换&#xff0c;将两个不同类型的数据转换成同一种数据类型。…

《CSS 简易速速上手小册》第1章:CSS 基础入门(2024 最新版)

文章目录 1.1 CSS 语法和选择器&#xff1a;挑选你的画笔1.1.1 基础知识1.1.2 重点案例&#xff1a;创建一个响应式导航菜单1.1.3 拓展案例 1&#xff1a;为特定链接添加图标1.1.4 拓展案例 2&#xff1a;创建一个简单的问答折叠面板 1.2 盒模型的基础&#xff1a;构建你的乐高…

Redis -- 渐进式遍历

家&#xff0c;是心的方向。不论走多远&#xff0c;总有一盏灯为你留着。桌上的碗筷多了几双&#xff0c;笑声也多了几分温暖。家人团聚&#xff0c;是最美的风景线。时间&#xff1a;2024年 2月 8日 12:51:20 目录 前言 语法 示例 前言 试想一个场景,那就是在key非常多的…

【docker】docker-compose.yml 语法详解

文章目录 一、相关文章二、基本概念三、Docker Compose语法介绍1、version2、Servicesimagebuildportsnetworksvolumesenvironmentdeploydepends\_oncommandrestart 3、networks 使用docker 网络驱动类型 4、volumes 使用 四、和环境变量文件.env结合使用五、使用示例1、基本使…

STL演讲比赛流程管理系统

很难,一边看视频&#xff0c;一边思考了好多天 speaker.h #pragma once//防止头文件重复包含 #include<iostream> using namespace std;//设计选手类 class Speaker{public:string m_Name;//姓名 double m_Score[2];//double带了浮点,防止重复 2代表可能有人是两轮…

字节跳动官方出品AI,白嫖使用GPT4!

关注我&#xff0c;紧跟本系列专栏文章&#xff0c;咱们下篇再续&#xff01; 作者简介&#xff1a;魔都技术专家兼架构&#xff0c;多家大厂后端一线研发经验&#xff0c;各大技术社区头部专家博主&#xff0c;编程严选网创始人。具有丰富的引领团队经验&#xff0c;深厚业务架…

《CSS 简易速速上手小册》第8章:CSS 性能优化和可访问性(2024 最新版)

文章目录 8.1 CSS 文件的组织和管理8.1.1 基础知识8.1.2 重点案例&#xff1a;项目样式表结构8.1.3 拓展案例 1&#xff1a;使用BEM命名规范8.1.4 拓展案例 2&#xff1a;利用 Sass 混入创建响应式工具类 8.2 提高网页加载速度的技巧8.2.1 基础知识8.2.2 重点案例&#xff1a;图…

alist基本用法@文档阅读@挂载网盘@网盘webdav挂载

文章目录 alist官网alist网站风格说明alist软件版本 安装和启动使用必看文档&#x1f47a;alist for android版本启动alist网页挂载阿里云盘open获取阿里云令牌 主页检查挂载情况 常用页面以配置挂载列表管理配置页面 FAQ可能遇到的错误检查服务重启前后alist的动作(自动挂载)a…

django中实现观察者模式

在Django中实现观察者模式&#xff0c;你可以利用Django的信号&#xff08;Signals&#xff09;系统。Django的信号提供了一种发布/订阅模型&#xff0c;允许解耦应用程序组件之间的交互。一个组件可以发送一个信号&#xff0c;而其他组件可以监听这个信号并响应它。 下面是如…

Google刚刚推出了图神经网络Tensorflow-GNN

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Vue源码系列讲解——虚拟DOM篇【四】(优化更新子节点)

目录 1. 前言 2. 优化策略介绍 3. 新前与旧前 4. 新后与旧后 5. 新后与旧前 6. 新前与旧后 7. 回到源码 8. 总结 1. 前言 在上一篇文章中&#xff0c;我们介绍了当新的VNode与旧的oldVNode都是元素节点并且都包含子节点时&#xff0c;Vue对子节点是 先外层循环newChil…

最佳视频转换器软件:2024年视频格式转换的选择

我们生活在一个充满数字视频的世界&#xff0c;但提供的内容远不止您最喜欢的流媒体服务目录。虽然我们深受喜爱的设备在播放各种自制和下载的视频文件方面变得越来越好&#xff0c;但在很多情况下您都需要从一种格式转换为另一种格式。 经过大量测试&#xff0c; 我们尝试过…

Tiny Http源码解析

相关概念 源码 HTTP CGI getsockname() 函数说明 accept_request: 处理从套接字上监听到的一个 HTTP 请求&#xff0c;在这里可以很大一部分地体现服务器处理请求流程。bad_request: 返回给客户端这是个错误请求&#xff0c;HTTP 状态吗 400 BAD REQUEST.cat: 读取服务器上某…