java求满足1 2! 3!<=9999
时间: 2023-04-24 21:03:23 浏览: 98
满足条件的Java代码如下:
```
public class Factorial {
public static void main(String[] args) {
int n = 1;
while (factorial(n) <= 9999) {
System.out.println(n + "! = " + factorial(n));
n++;
}
}
public static int factorial(int n) {
if (n == ) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
```
运行结果如下:
```
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 504
```
相关问题
编写一个应用程序求满足1+2!+3!…+n!<=9876的最大整数n。
编写一个应用程序求满足1 2! 3!… n!<=9876的最大整数n的方法如下:
```java
public class Main {
public static void main(String args[]){
int sum = 0;
int fac = 0;
int n = 1;
Factorial a = new Factorial();
while(sum <= 9876){
fac = a.factorial(n);
sum += fac;
n++;
}
System.out.println(n-1);
}
}
public class Factorial {
public int factorial(int i){//阶乘
int j, result=1;
for(j=1; j<=i; j++){
result = result * j;
}
return result;
}
}
```
根据上述代码,我们可以通过循环计算每个数字的阶乘,并将阶乘的和与9876进行比较,直到和超过或等于9876为止。最后输出的n-1即为满足条件的最大整数n。
用java编写一个程序求满足1!+2!+...+n!<=9999 的最大整数n
这是一个Java程序,用于求满足1!+2!+...+n!<=9999的最大整数n。以下是程序的代码和解释:
```
public class FactorialSum {
public static void main(String[] args) {
int n = 1; // 要求的值
int sum = 0; // 1!+2!+...+n!的值
int max = 9999; // 目标值
while (true) {
sum += factorial(n); // 计算1!+2!+...+n!
if (sum > max) { // 计算值比目标值大,退出循环
System.out.println("满足条件的最大整数:" + (n - 1)); // 退一个数值输出,即满足条件的n值
break;
}
n++;
}
}
// 计算阶乘
public static int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
```
程序中定义了一个`FactorialSum`类,其中包含了一个`main`方法和一个`factorial`方法。`main`方法中使用了一个`while`循环,不断计算1!+2!+...+n!的值,直到计算值比目标值大时退出循环,并输出满足条件的最大整数n。`factorial`方法用于计算阶乘。