N!

Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
 

Input
One N in one line, process to the end of file.
 

Output
For each N, output N! in one line.
 

Sample Input
1 2 3
 

Sample Output
1 2 6


此题主要是解决在a.multiply(i)再mulitply()中不能够用整形,必须是大整形所以可以改为multiply(new BigInteger(""+i)  );


import java.util.*;
import java.io.*;
import java.math.*;
public class Main
{
  static BigInteger[] ans;//注意定义大数的数组的放法再BigInteger后边加上数组的符号[].
	public static void main(String[] args)
	{
		Scanner cin=new Scanner(System.in);
		//BigInteger i;
		int i,n;
		ans=new BigInteger[10010];
		ans[0]=BigInteger.valueOf(1);
		ans[1]=BigInteger.valueOf(1);
		ans[2]=BigInteger.valueOf(2);
		for(i=3;i<=10001;i++)
		{
			ans[i]=ans[i-1].multiply(new BigInteger(""+i)   );
		}
		while(cin.hasNext())
		{
			n=cin.nextInt();
			System.out.println(ans[n]);
		}
	}
}


<think>好的,我现在需要处理用户的问题,关于如何计算或理解n乘以n的阶乘的数学表达式。首先,用户的问题是要得到n乘以n!的表达式,可能需要解释或者推导过程。我应该先回忆阶乘的基本定义,然后看看n乘以n!有什么规律或者简化的方法。 首先,阶乘的定义是n! = n × (n-1) × ... × 1。那么n乘以n!就是n × n!,这看起来像是一个新的表达式,但可能需要将其转化为更简洁的形式。比如,n × n!是否可以表示为(n+1)!减去某个部分?或者有没有可能直接简化成另一个阶乘形式? 根据数学中的阶乘性质,记得有一个性质是n! × (n+1) = (n+1)!。所以如果原式是n × n!,那是否可以和这个性质联系起来?比如,n × n! = (n+1)! - n!,或者有没有其他的变形方式? 让我验证一下这个想法。例如,当n=3时,3×3! = 3×6=18。而4! =24,24 -6=18,确实等于3×3!。所以这个等式成立。那这个等式是否普遍适用呢?假设对于一般的n,n×n! = (n+1)! -n!,那么这可以作为一个简化的表达式。 因此,n乘以n!可以表示为(n+1)! -n!,或者更直接的是,根据阶乘的递推关系,n×n! = (n+1)! -n!。这可能帮助用户将表达式转化为更简洁的形式,或者用于某些证明或计算中。 另外,用户可能需要知道n×n!本身的表达式是否有特定的名称或应用,例如在排列组合中的意义。例如,排列数P(n+1, n)等于(n+1)!,而这里n×n!可能与某些排列问题相关。 接下来,我需要确保这些推导是正确的,并且没有遗漏其他可能的表达方式。比如,是否有其他数学公式或定理涉及n×n!,或者是否可以用递归的方式表示它。此外,可能还需要考虑是否可以用积分、级数或其他高等数学方法来表达,但根据用户的问题,可能更关注代数上的简化。 总结起来,用户的问题可以通过两种方式解答:直接表达式n×n!,或者转换为(n+1)! -n!。同时,需要解释这种转换的正确性,并通过例子验证。此外,可能还需要说明这种表达式在数学中的应用场景,比如级数求和或递推关系中。 在编写回答时,需要按照用户的要求,分点说明,不使用第一人称,避免步骤词汇,正确使用数学公式的格式。例如,将n×n!写成$n \times n!$,而(n+1)! -n!则写成$(n+1)! - n!$。同时,需要给出具体的例子,如当n=3时的计算过程,以增强理解。 最后,生成相关问题时要基于原问题,比如询问阶乘的其他性质、递推关系的应用,或者数学证明的方法。确保问题相关且有逻辑连贯性。</think>通过数学推导可以确定,$n \times n!$ 的表达式存在两种等效表达形式: $n \times n! = (n+1)! - n!$ 该等式通过阶乘的递推性质推导得出。根据阶乘定义,$(n+1)! = (n+1) \times n!$,展开后得到: $$(n+1)! = n \times n! + 1 \times n!$$ 移项后立即得出原式 **数值验证示例** 当 $n=3$ 时: $3 \times 3! = 3 \times 6 = 18$ $(4! - 3!) = 24 - 6 = 18$ 两种计算方式结果一致 **编程实现示例** ```python def compute_expression(n): return n * math.factorial(n) # 验证n=5时的结果 import math n = 5 print(n * math.factorial(n)) # 输出600 print(math.factorial(n+1) - math.factorial(n)) # 同样输出600 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值