62,616
社区成员
发帖
与我相关
我的任务
分享
public class Recursion{
public static int multiply(int n){
if(n==0||n==1){
return n;
}else{
return n*multiply(n-1);
}
}
public static void main(String args []) {
System.out.print(multiply(1000);)
}
}
import java.math.BigDecimal;
public class Test {
public static void main(String []args) {
BigDecimal bd = new BigDecimal(1);
for(int i=1000;i>0;i--)
{
bd = bd.multiply(new BigDecimal(i));
}
System.out.println(bd);
}
}
import java.math.*;
public class B {
public static void main(String[] args) {
B b=new B();
BigInteger a=b.t1(BigInteger.valueOf(1000L));
System.out.println(a);
}
public BigInteger t1(BigInteger a){
if(a.equals(BigInteger.valueOf(1L))){
return BigInteger.valueOf(1L);
}
return a.multiply(t1(a.subtract(BigInteger.valueOf(1L))));
}
}
import java.math.*;
import java.util.*;
public class Factorial
{
public static void main(String[] args) throws InputMismatchException
{
Scanner in = new Scanner(System.in);
System.out.println("请输入要计算阶乘的十进制非负整数:");
BigInteger n = in.nextBigInteger();
System.out.println("n = "+n);
BigInteger i = BigInteger.valueOf(1);
BigInteger result = n;
int m = -1;
for(i = BigInteger.valueOf(1); m == -1; i=i.add(BigInteger.valueOf(1)))
//while (m == -1)
{
System.out.println("i ="+i);//本行可去掉,不影响结果
result =result.multiply(n.add(i.negate()));
m = i.compareTo(n.add(BigInteger.valueOf(1).negate()));//将i与n-1作比较。若用m = i.compareTo(n);将i与n作比较将会出现(n!)=0的错误
}
System.out.println("n! ="+result);
}
}
package ArrayExample;
import ConsoleReader.ConsoleReader;
public class array04 {
public static void main(String args[]) {
int[] Data = new int[2569];
int Digit;
int i, j, k;
int N;
for (i = 1; i < 40; i++) {
Data[i] = 0;
}
Data[0] = 1;
Data[1] = 1;
Digit = 1;
System.out.print("请输入你想计算的数值(最大1000):");
ConsoleReader Console = new ConsoleReader(System.in);
N = Console.readInt();
for (i = 1; i < N + 1; i++) {
for (j = 1; j < Digit + 1; j++) {
Data[j] *= i;
}
for (j = 1; j < Digit + 1; j++) {
if (Data[j] >= 10) {
if (j == Digit) {
Digit++;
}
Data[j + 1] += Data[j] / 10;
Data[j] = Data[j] % 10;
}
}
}
System.out.print(N + "! = ");
for (k = Digit; k > 0; k--) {
System.out.print(Data[k]);
}
System.out.print("(" + Digit + "位数)");
System.out.println("");
}
}