调试了1个多小时的小程序,突然感觉科学计算不是这么容易的事。

说明:

1. 不支持12以上的阶乘计算,如,计算13的阶乘时,数字不准确(超过int变量所支持的最大值2147483648而溢出)

2. 计算e时,数字越大,计算出的e的精度越高。用12的阶乘计算时,精确度为小数点以后9位,即2.718281828

代码如下:

//JHTP Exercise 4.37: Factorial
//by pandenghuang@163.com
/*(Factorial) The factorial of a nonnegative integer n is written as n! (pronounced “n factorial”)
and is defined as follows:
n! = n · (n – 1) · (n – 2) · … · 1 (for values of n greater than or equal to 1)
and
n! = 1 (for n = 0)
For example, 5! = 5 · 4 · 3 · 2 · 1, which is 120.
a) Write an application that reads a nonnegative integer and computes and prints its factorial.
b) Write an application that estimates the value of the mathematical constant e by using
the following formula. Allow the user to enter the number of terms to calculate.
c) Write an application that computes the value of e^x by using the following formula. Allow
the user to enter the number of terms to calculate.*/
import java.util.Scanner;public class Factorial
{public static int factorial(int n){int factorial=n;int counter=n;while (counter>1){factorial*=counter-1;counter--;}return factorial;}    public static double e(int n){double e=1.0;int counter=1;while (counter<=n){e+=(double)1/factorial(counter);counter++;}return e;} public static double ex(int n,int x){double ex=1.0;int counter=1;while (counter<=n){ex+=(double)Math.pow(x,counter)/factorial(counter);counter++;}return ex;} public static void main(String[] args){int number=1;int x=1;int factorial=1;double e=1.0;double ex=1.0;Scanner input=new Scanner(System.in);System.out.print("请输入数字n:");number=input.nextInt();System.out.print("请输入数字x:");x=input.nextInt();factorial=factorial(number);e=e(number);ex=ex(number,x);System.out.printf("数字%d的阶乘为:%d\n",number,factorial);System.out.printf("使用数字%d计算的自然对数为:%.9f\n",number,e);System.out.printf("使用数字%d计算的e^x为:%.9f\n",number,ex);}}

运行结果:

请输入数字n:12
请输入数字x:2
数字12的阶乘为:479001600
使用数字12计算的自然对数为:2.718281828
使用数字12计算的e^x为:7.389054567



12以内阶乘、自然对数e及e的x次方的计算(Factorial)相关推荐

  1. 自然对数e及e的x次方的计算(Calculation of natural exponent e and x power of e)

    看到8年前发的帖子活的好好的,感觉很好! 小修小补一下,再补上两张程序运行的截屏,提交 说明:关于自然对数e的计算,建议参考本人的最新帖子, 12以内阶乘.自然对数e及e的x次方的计算(Factori ...

  2. Bailian2729 求12以内n的阶乘 Bailian2730 求20以内n的阶乘【递推】

    求20以内n的阶乘 求12以内n的阶乘 总时间限制: 1000ms 内存限制: 65536kB 描述 求20以内n的阶乘. 输入 只有一行输入,整数n(n<=20). 输出 只有一行输出,数值n ...

  3. 信息学奥赛一本通 1091:求阶乘的和 / 2026:【例4.12】阶乘和 / OpenJudge NOI 1.5 34

    [题目链接] ybt 2026:[例4.12]阶乘和 ybt 1091:求阶乘的和 OpenJudge NOI 1.5 34:求阶乘的和 [题目考点] 1. 求一个数的阶乘 假设求n的阶乘,设结果变量 ...

  4. 信息学奥赛一本通(2026:【例4.12】阶乘和)

    2026:[例4.12]阶乘和 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 1093     通过数: 837 [题目描述] 求 S=1!+2!+3!+.... ...

  5. 信息学奥赛一本通:2026:【例4.12】阶乘和

    2026:[例4.12]阶乘和 [题目描述] 求 S=1!+2!+3!+....+n! [输入] 输入正整数n. [输出] 输出s. [输入样例] 3 [输出样例] 9 [提示] [数据范围] 对于所 ...

  6. 2026:【例4.12】阶乘和

    2026:[例4.12]阶乘和 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 1017 通过数: 784 [题目描述] 求 S=1!+2!+3!+-+n! [输入] 输入正整数n ...

  7. 7-100 简单求阶乘问题 (10 分)本题要求编写程序,计算N的阶乘。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出阶乘的值。输入样例:4结尾无空行

    7-100 简单求阶乘问题 (10 分) 本题要求编写程序,计算N的阶乘. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出阶乘的值. 样例">输入样例 ...

  8. 【教学类-33-01】20230417食物交换卡片1.0版(6、8、10、12以内的随机数量+绘画+等量交换)(中班:偏科学-数)

    作品效果 背景需求 探究PPT图标里面的矢量图有什么与教学相关的用途 代码 ''' 目的: 1.根据食物卡片的每种食物数量写出数字或者尝试交换卡片(6以内.8以内.10以内.12以内) 2.作者:阿夏 ...

  9. c语言求50以内阶乘,C语言之数组50以内的阶乘.doc

    C语言之数组50以内的阶乘 #include //因为不知道50的阶乘有多少位,所以用100代 #define N 100 void fun(int); int main() { int i; // ...

最新文章

  1. python 基础之字典一
  2. 【转载】从多项式曲线拟合到模式识别的相关概念
  3. boost::intrusive::get_parent_from_member用法的测试程序
  4. 如何使用MySQL和JPA使用Spring Boot构建Rest API
  5. AspNetPager 修改 然后返回当前页
  6. 宝塔反代默认缓存了html吗,宝塔面板安装 OneList 设置反代
  7. linux重置电池阀值,Thinkpad在linux(ubuntu)下修改电池充电阈值,成功解决Thinkpad在Linux下的电池充电问题...
  8. 测试类什么时候初始化
  9. MySQL——MySQL 图形化管理工具的介绍
  10. 使用 RuPengGame游戏引擎包 建立游戏窗体 如鹏游戏引擎包下载地址 Thread Runnable 卖票实例
  11. 修复steam服务器失败怎么办,steam服务器失败
  12. 组织能力:企业成败的关键(组织能力杨三角系列一)
  13. 使用Jmeter输出错误响应结果到日志
  14. NODE安装和使用说明,报错处理方法
  15. python代替易语言_基于hook的python机器人,彻底取代itchat
  16. 《Kotlin从小白到大牛》第28章:项目实战1:开发PetStore宠物商店项目
  17. ISO8601转换成Date类型
  18. 百思不得姐 video
  19. kaggle树叶分类
  20. 【Linux】上传和下载服务器上的文件

热门文章

  1. Android到底凉不凉?34岁Android程序员用自己的故事告诉你
  2. 夜神模拟器——vscode调试模拟器找不到模拟器
  3. 如何把华为数据分析项目写进简历
  4. dede php addfilter,织梦dede筛选功能+伪静态
  5. 爱科赛博冲刺科创板:拟募资3.8亿 陕西集成电路与达晨是股东
  6. 淘宝吱口令效果实现,获取系统剪贴板内容
  7. s/μs/ns/ps与Hz/KHz/MHz/GHz换算关系
  8. EasyExcel的使用
  9. Arduino学习笔记(14)-- Arduino使用增量编码器测速
  10. Adversarial Semantic Alignment for Improved Image Captions