`

实例036 - 用while循环计算1+1/2!+1/3!...1/20!

 
阅读更多

心法领悟036:使用BigDecimal类完成大数字与高精度运算。

对于高精度要求或大数字的计算,应该使用BigDecimal或BigInteger类,否则Java基本类型的数据无法保证浮点数的精度,也无法对超出其表示范围的数字进行运算。

import java.math.BigDecimal;
public class Example {
    public static void main(String args[]) {
        BigDecimal sum = new BigDecimal(0.0); // 和
        BigDecimal factorial = new BigDecimal(1.0); // 阶乘项的计算结果
        int i = 1; // 循环增量
        while (i <= 20) {
            sum = sum.add(factorial); // 累加各项阶乘的和
            ++i; // i加1
            factorial = factorial.multiply(new BigDecimal(1.0 / i)); // 计算阶乘项
        }
        System.out.println("1+1/2!+1/3!···1/20!的计算结果等于:\n" + sum); // 输出计算结果
    }
}

 

1+1/2!+1/3!···1/20!的计算结果等于:
1.71828182845904522367258882524732563634867246268558104448130832136101139366719986414383110243797108748822820657493330665752903534700022508204525385549479876951292493516361991885142411580915233808389198581342610980977425822951724476374113374431295345516733481291917383751991568557019209000617394017755970330759280319424925748716392429788018461622511631047241914024775263254452027548084334842631749679270930789639542724477953673333791555400257219557963341089085618184152725912383836106812569589258574113531875910271222819280308083619226237539764181652472718046378704910462924352995976893461209516866339555490458432187283021232937484781081946952237499593023333299830547132009915333667625253213008545235615683712431845561218831886238965727822680526029924244310460181428675093053813137695411922636380686046919663567678071558475494384765625

 

分享到:
评论

相关推荐

    C程序基本算法C程序基本算法C程序基本算法

    - **分数级数求和**:例如1+1/3^2+1/5^2+...+1/99^2,同样使用循环和浮点数运算。 4. **交错序列求和**: - 如1-1/2+1/3-1/4+...+1/99,可以通过改变累加项的符号来实现。 - 求π的近似值:π/4 = 1-1/3+1/5-1/7...

    c代码-计算s=1+3+5+7...+99

    标题 "c代码-计算s=1+3+5+7...+99" 指的是一个使用C语言编写的程序,它的目的是计算从1开始到99的奇数之和。这个程序属于基础的算法实现,对于学习C语言或者算法初学者来说,是一个很好的实践案例。 描述中提到的 ...

    c代码-5-2例while 1+2+3+...+10

    标题 "c代码-5-2例while 1+2+3+...+10" 提示我们这是一个关于C语言编程的实例,特别是涉及到一个用`while`循环计算1到10整数之和的问题。在C语言中,`while`循环是一种常用的控制流程结构,用于反复执行一段代码直到...

    第4章-13 求误差小于输入值的e的近似值 (20分)python

    接下来,进入一个while循环,条件是b - a &gt;= error。在循环中,我们逐步增加级数项,更新b的值,使其等于当前b加上(b - a) / n,其中n是当前的项数。每次迭代后,n递增1,表示我们增加了新的项。当循环结束时,b的值...

    C语言常见编程算法实例(1).doc

    该算法实例使用 for 循环来计算 1+2!+3!+...+20! 的值。算法的关键是使用递推公式来计算每一项的值,并将其累加到总和中。该算法实例展示了 C 语言中循环控制和数学函数的使用。 7. 输出一个年份揣摸它是否是闰年 ...

    Java中do…while循环语句实例1.pdf

    Java中的do...while循环语句是一种特殊的循环结构,它的特点是循环体至少会执行一次,即使在初次检查条件表达式时不满足。这种循环适用于那些需要在执行至少一次操作后再决定是否继续循环的情况。 do...while循环的...

    c语言基础编程实例100例(付源代码)

    条件语句(if...else)和循环语句(for、while、do...while)允许程序根据特定条件执行不同的代码块或重复执行某段代码。此外,switch语句提供了一种更简洁的多分支选择方式。 函数是C语言中实现模块化编程的关键。...

    3n+1问题 C语言实现

    2. **循环结构**: 使用`for`和`while`循环来遍历指定范围内的整数并计算每个数的数列长度。 3. **条件判断**: 利用`if-else`语句来区分奇偶数,并执行不同的操作。 4. **计数器**: 变量`k`用于记录数列长度。 5. **...

    c代码-例5-3while do-while比较5+6+7+ +n

    在这个代码段中,用户会被要求输入一个整数`n`,然后程序会分别使用`while`和`do-while`循环计算5到`n`的整数和,并打印结果。通过比较这两个循环的输出,可以直观地看出它们在执行顺序上的差异。 总结来说,`while...

    Advanced Bash-Scripting Guide <>

    否定一个条件使用! 7-1. 什么情况下为真? 7-2. 几个等效命令test,/usr/bin/test,[],和/usr/bin/[ 7-3. 算数测试使用(( )) 7-4. test 死的链接文件 7-5. 数字和字符串比较 7-6. 测试字符串是否为null 7-7. zmore 8-1...

    c代码-5-2例while1+2+3+…+10

    "c代码-5-2例while1+2+3+…+10"这个标题揭示了一个关于C语言的编程实例,其核心是用while循环来计算1到10的整数之和。这个例子是初学者学习控制结构和基本算术运算的典型练习。 首先,我们来看一下`while`循环。在...

    Linux高级bash编程

    否定一个条件使用! 7-1. 什么情况下为真? 7-2. 几个等效命令test,/usr/bin/test,[],和/usr/bin/[ 7-3. 算数测试使用(( )) 7-4. test死的链接文件 7-5. 数字和字符串比较 7-6. 测试字符串是否为null 7-7. zmore 8-1....

    Java中while循环语句实例.pdf

    本文将详细解析while循环的工作原理、语法格式,并通过两个实例来加深理解。 **一、while循环的基本概念** while循环是基于条件执行的循环结构,它的主要作用是在条件满足的情况下反复执行循环体内的代码。当条件...

    专升本计算机编程VF程序设计实例.pdf

    这个实例是计算1+1/2!+1/3!+1/4!+⋯+1/n!的和。首先,我们使用`CLEAR`清除内存,初始化`SUM`为0,`MUL`为1。然后通过用户输入`n`的值,使用两个嵌套的`FOR`循环计算阶乘和求和。外层循环从1到n,内层循环从1到i,将`...

    C语言讲课while循环结构PPT课件.pptx

    ### C语言中的While循环结构详解 #### 一、引言 在编程中,循环结构是一种非常重要的控制结构,它允许程序多次执行同一段代码,直到满足特定条件为止。C语言提供了三种基本的循环结构:`while`循环、`do-while`...

    VB程序设计do循环实例.ppt

    1. 计算s=1+1/2+1/3+1/4+…1/n的值,当n=?时,s第一次大于10。 2. 津津将10000元钱存入银行,银行的年利率为1分(即10%),如一直不取出,问按照利滚利的计算方法,至少经过多少年津津才能拿到150000元? 这些实例...

    VB程序设计:do循环实例.ppt

    **问题描述**:求解序列`1 + 1/2 + 1/3 + ... + 1/n`,找出使得该序列和首次大于10的最小的`n`值。 **解决方案**: 1. **初始化变量**:设置`S`为累加器,初始值为0;`n`为计数器,初始值也为0。 2. **定义循环条件...

    C语言程序设计-循环语句嵌套.pptx

    在本讲解中,我们将深入探讨C语言中的循环嵌套,包括for循环、while循环和do-while循环的嵌套,并通过实例来解释如何实现。 首先,让我们看看循环嵌套的语法格式。无论使用哪种类型的循环,都可以在其内部嵌套其他...

    c代码-使用 while 循环计算1加到100的值:

    在C语言中,计算1加到100的和是一个基础的编程练习,它涉及到循环结构,特别是while循环。在本例中,我们将探讨如何利用while循环实现这一功能,并了解其背后的逻辑和语法。 首先,让我们看看`main.c`文件中的代码...

    while语句使用PPT

    假设我们需要计算1到100之间所有整数的和,可以使用`while`循环来实现: ```c #include &lt;stdio.h&gt; int main() { int sum = 0; int n = 1; while (n ) { // 当n时,执行循环体 sum += n; // 等价于sum = sum + ...

Global site tag (gtag.js) - Google Analytics