用java实现 在键盘输入一个正整数n,计算并输出1!-2!+...+(-1)n-1 n!
时间: 2023-10-03 09:05:45 浏览: 53
以下是Java代码实现:
```java
import java.util.Scanner;
public class FactorialSum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
int sign = 1;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
sum += sign * factorial;
sign = -sign;
}
System.out.println(sum);
}
}
```
首先,通过 `Scanner` 类获取输入的正整数 `n`。然后,使用变量 `sum` 记录阶乘和,`sign` 记录符号(每两项之间符号取反),`factorial` 记录当前循环到的阶乘值。
在循环中,每次先将 `factorial` 更新为当前循环变量 `i` 的阶乘,即 `factorial *= i`。然后,将 `sign * factorial` 加到 `sum` 中,同时将 `sign` 取反。
最后,输出 `sum` 即可。
相关问题
java程序,从键盘输入一个正整数n,计算n!(n!=1*2*3*…*n)
好的,以下是使用 Java 语言实现的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数n:");
int n = input.nextInt();
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
System.out.printf("%d! = %d", n, result);
}
}
```
你可以将这段代码复制到 Java 编辑器中运行,然后输入一个正整数n,程序会计算n!的值并输出结果。希望能够帮到你!
Java从键盘输入一个正整数n,计算并输出n以内的全部素数。
好的,以下是Java的实现方式:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个正整数n:");
int n = sc.nextInt();
// 判断是否为素数的方法
boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
// 输出n以内的素数
for (int i = 2; i <= n; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
}
}
}
}
```
您可以将此代码复制到Java环境中运行,输入一个正整数n,即可得到n以内的所有素数。