Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!

 时间:2024-10-19 07:11:19

1、在Eclipse中新建一个类,类名可以用中文。这里用“阶乘”做类名。

Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!

2、系统会自动生成以下代码

Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!

3、由于a的值是未知的,也就是要使用者输入。所以要用到Scanner。所以在类名前加上import java.util.Scanner;

Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!

4、输入以下代码import java.util.Scanner;publi罕铞泱殳c class 阶乘 { pub造婷用痃lic static void main(String[] args) { // TODO 自动生成的方法存根 Scanner scanner=new Scanner(System.in); int a=scanner.nextInt();int sunm=0;for(int i=0;i<=a;i++){ int c=1; for(int j=1;j<=i;j++){ c=c*j; } float m=1.0f/c; System.out.println(i+"!="+c); System.out.println("1/"+i+"!="+m);} }}

Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!

5、输入4调试;结果如下

Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!

6、结果要求保留两位有效数字,所以要用到DecimalFormat

Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!
Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!

7、调试后发现问题 0!=1,所以把for(int i=0;i<=a;坡纠课柩i++)改成for(int i=1;i<稆糨孝汶;=a;i++)。完整代码如下import java.util.Scanner;public class 阶乘 { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner scanner=new Scanner(System.in); int a=scanner.nextInt(); java.text.DecimalFormat df=new java.text.DecimalFormat("#.##");float sunm=0;for(int i=1;i<=a;i++){ int c=1; for(int j=1;j<=i;j++){ c=c*j; } float m=1.0f/c; System.out.println(i+"!="+c); System.out.println("1/"+i+"!="+df.format(m)); sunm=m+sunm;}System.out.println("1/"+a+"!+"+"1/"+(a-1)+"!+"+"......+"+"1/2!+"+"1/1!="+df.format(sunm)); }}

Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!
Java 求1/a!+1/(a-1)!+.......+1/2!+1/1!
  • 铝塑复合管在顶面如何固定?
  • 酱香大豆腐土豆条
  • 新漂流瓶如何开启榜单隐身
  • 手表为什么需要保养
  • 新主播教程之怎样上直播平台一直播开播
  • 热门搜索
    争做文明使者手抄报 关于孔子的手抄报 文化手抄报 健康手抄报资料 民族精神代代传手抄报 关于法制的手抄报内容 防地震手抄报内容 小学生防火手抄报 成长足迹手抄报内容 垃圾分类手抄报资料