JAVA(10)——分数阶乘

/**
 * e=1+1/2!+1/3!+1/4!+1/5!....1/10!
 * */
public class JieChengE {
	public static void main(String[] args){
		int i;
		double e=0, j=1;
		for(i=1; i<=10; i++){
			j *= (1.0/i);
			e += j;
		}
	
		System.out.println("e ="+e);
		
	}

}

运行结果:

e =1.7182818011463847

Java分数阶乘通常指的是部分阶乘的概念,即只计算阶乘的一部分。它并不像标准的阶乘那样是从0到n的所有整数相乘,而是在某个分数范围内进行。例如,如果你想要求从1加到某个分数阶乘的部分和,你可以编写一个函数,该函数接受两个参数:上限值和分数。 下面是一个简单的示例,假设我们有一个名为`fractionalFactorialSum`的函数,它采用整数`n`作为分子(上界),和一个浮点数`p`作为分母(分数),然后计算`n! / (n^p)`的和: ```java import java.util.Scanner; public class FractionalFactorial { public static double fractionalFactorialSum(int n, double p) { if (p <= 0 || p > 1) { throw new IllegalArgumentException("Invalid fraction for factorial sum"); } double result = 0; for (int i = 1; i <= n; i++) { result += Math.pow(i, -p); } // Since the factorial grows very rapidly and we're taking a reciprocal, we might need to handle floating-point precision issues return result * factorial(n); // Assuming you have a separate function 'factorial' to compute the full factorial } private static long factorial(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Enter the upper bound and the fraction:"); int n = scanner.nextInt(); double p = scanner.nextDouble(); double sum = fractionalFactorialSum(n, p); System.out.printf("The sum of fractional factorials from 1 to %d with fraction %.2f is %.4f%n", n, p, sum); } } ``` 这个程序首先检查分母的有效性,然后迭代计算每个分数阶乘的贡献,并累加它们。注意这里假设了有一个辅助函数`factorial`来计算完整的阶乘,实际应用可能会使用更精确的数值库处理大数运算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值