Java求多项式exp(x)=1+x+ 2!/ x2 + 3!/x3 +……+ i!/xi (|i!/xi|≤10^-10)

这篇博客介绍了一个简单的Java编程题目,要求计算exp(x)的和,其中x的幂次从0开始,每一项为i! / x^i,直到绝对值小于10^-10。博主分享了实现算法的思路,包括使用循环和动态更新当前项,并讨论了Java中除法和结果保留小数的处理方法。最后给出了源代码实现。
摘要由CSDN通过智能技术生成

最近开始为CCF做准备,所以打算把看的题都写下来,肯定都是站在巨人的肩膀上,如有重复和不足,请大家多多指教。谢谢!

算法题目很简单:exp(x)=1+x+ 2!/ x2 + 3!/x3 +……+ i!/xi   (|i!/xi|≤10^-10)  保留四位小数

分析:用s代表和,i代表当前x的幂次,t代表当前当前项

 1、初始值  s=1 i=0 t=1

 2、循环结束的条件 Math.abs(t) > Math.pow(10,-10)  (Java语言中的Math函数,这个也是临时查的)

 3、循环规律  t(i)=x^i/i!=x^(i-1)/(i-1)! * (x/i) = t(i-1) * (x/i) 所以   i = i+1; t = t * x/i ; s = s + t;  (表达式看着很蛋疼,用笔在纸上写出了会比较好)

 4、对于编程语言来说,整数5/2=2,所以在做除法的时候要注意,不然最后是没有小数部分的,我的处理方法是直接用double类型的变量来保存数据,但是对于结果对不对,我确实没法验证,若有大神指点,感激不尽!

 5、最后是小数的保留,格式很多的,一查就有了!

源代码如下:

import java.text.DecimalFormat;
import java.util.Scanner;
public class Main2{
stat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值