/*
* name:first 功能:1.求阶乘 2.求阶乘之和
* Author:Hur Date:19/5/9
*/
package Excise0;import java.util.Scanner; //输入类
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger; //大的数字的运算需要用到
/*
//一.100的阶乘太大了,int,long,double都不可以
public class first {public static void main(String[] args) {
// TODO 自动生成的方法存根
int n;
int i;
int sum;
sum=1;
Scanner sc=new Scanner(System.in ); //输入类
System.out.println("请输入n:");
n=sc.nextInt();
for(i=n;i>0;i--) {
sum*=i;
}
System.out.println("n!的值为:"+sum);
}}*/
//二。使用BigInteger大容量运算类,其math里有计算的功能 1.用BufferedReader类输入public class first {
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
BigInteger sum=new BigInteger("1"); //sum的初值为1
int n;
int i;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in ));
System.out.println("请输入n:");
//n=sc.nextInt();
String str=buf.readLine();
n=Integer.parseInt(str);
for(i=1;i<=n;i++) {
BigInteger num=new BigInteger(String.valueOf(i)); //令num等于i的值
sum=sum.multiply(num);
}
System.out.println("n!的值为:"+sum);
}}
/*
//二.使用BigInteger大容量运算类,其math里有计算的功能 2. 用Scanner类输入
public class first {public static void main(String[] args) {
// TODO 自动生成的方法存根
BigInteger sum=new BigInteger("1"); //sum的初值为1
int n;
int i;
//int sum;
//sum=1;
Scanner sc=new Scanner(System.in ); //输入类
System.out.println("请输入n:");
n=sc.nextInt();
for(i=1;i<=n;i++) {
BigInteger num=new BigInteger(String.valueOf(i)); //令num等于i的值
sum=sum.multiply(num);
}
System.out.println("n!的值为:"+sum);
}}
*/
/*//三.阶乘相加
public class first {public static void main(String[] args) {
// TODO 自动生成的方法存根
BigInteger sum=new BigInteger("1"); //sum的初值为1
BigInteger result=new BigInteger("0");
int n;
int i;
//int j;
Scanner sc=new Scanner(System.in ); //输入类
System.out.println("请输入n:");
n=sc.nextInt();
for(i=1;i<=n;i++) {
BigInteger num=new BigInteger(String.valueOf(i)); //令num等于i的值
sum=sum.multiply(num);
result=result.add(sum);
}
System.out.println("自1!加到n!的值为:"+result);
}}
*/
Java求取阶乘and求取阶乘之和
最新推荐文章于 2022-05-05 12:10:11 发布
这篇博客展示了如何使用Java编程计算阶乘以及阶乘之和。通过两种不同的方式利用BigInteger类处理大整数运算,分别演示了用BufferedReader和Scanner类获取用户输入,然后计算阶乘,并在最后一个示例中计算从1到指定数n的所有阶乘之和。
1161

被折叠的 条评论
为什么被折叠?



