import java.util.Scanner;public class test { //定义数字a,b,c的数组 private static int n
2条回答
1楼 · 2022-11-27 07:27.采纳回答
static int 阶乘(int i) { int m = 1; for (; i > 0; i--) { m *= i; } return m; }
追问
能写个完整的代码吗 拜托了
追答
public class Main { public static void main(String[] args) { int a=1,b=2,c=3; System.out.println(阶乘(a)+阶乘(b)+阶乘(c)); } static int 阶乘(int i) { int m = 1; for (; i > 0; i--) { m *= i; } return m; } }
加载中...
2楼-- · 2022-11-27 07:10
import java.util.Scanner; public class test { //定义数字a,b,c的数组 private static int num[] = new int[3]; //定义阶乘和 private static long sum = 0; //使用递归方法求阶乘 private static long fac(int num){ if (num == 1) { return 1; }else { return num * fac(num - 1); } } public static void main(String[] args) { //循环给数组赋值 for (int i = 0; i < num.length; i++) { /**提示输入a,b,c的值,实际上数字a对应的是数组下标为0的值,也就是num[0], 数字b对应的是数组下标为1的值,也就是num[1],数字c对应的是数组下标为2的值, 也就是num[2] */ if (i == 0) { System.out.print("请输入数字a的值:"); }else if (i == 1) { System.out.print("请输入数字b的值:"); }else { System.out.print("请输入数字c的值:"); } //将值循环输入数组当中 num[i] = new Scanner(System.in).nextInt(); //当输入的值小于1的时候提示重新输入 while (num[i] < 1) { System.out.println("输入的数字必须大于等于1,请重新输入!"); System.out.println(" "); if (i == 0) { System.out.print("请输入数字a的值:"); }else if (i == 1) { System.out.print("请输入数字b的值:"); }else { System.out.print("请输入数字c的值:"); } num[i] = new Scanner(System.in).nextInt(); } //求出输入的a,b,c这3个数阶乘的和 sum+=fac(num[i]); } //输出结果 System.out.println("a! + b! + c! = "+sum); } }
不好意思,是要求和呀。y是x进行n次方后的结果
public static int fac(int x, int n) { int y = 1; for (int i = 0; i < n; i++) { y = y * x; } return y; }
public static void main(String args[]) { int a = 2, b = 3, c = 4; int sum=fac(a, 2)+fac(b, 2)+fac(c, 2); System.out.println(sum); } }
public class test {
//定义数字a,b,c的数组
private static int num[] = new int[3];
//定义阶乘和
private static long sum = 0;
//使用递归方法求阶乘
private static long fac(int num){
if (num == 1) {
return 1;
}else {
return num * fac(num - 1);
}
}
public static void main(String[] args) {
//循环给数组赋值
for (int i = 0; i < num.length; i++) {
/**提示输入a,b,c的值,实际上数字a对应的是数组下标为0的值,也就是num[0],
数字b对应的是数组下标为1的值,也就是num[1],数字c对应的是数组下标为2的值,
也就是num[2]
*/
if (i == 0) {
System.out.print("请输入数字a的值:");
}else if (i == 1) {
System.out.print("请输入数字b的值:");
}else {
System.out.print("请输入数字c的值:");
}
//将值循环输入数组当中
num[i] = new Scanner(System.in).nextInt();
//当输入的值小于1的时候提示重新输入
while (num[i] < 1) {
System.out.println("输入的数字必须大于等于1,请重新输入!");
System.out.println(" ");
if (i == 0) {
System.out.print("请输入数字a的值:");
}else if (i == 1) {
System.out.print("请输入数字b的值:");
}else {
System.out.print("请输入数字c的值:");
}
num[i] = new Scanner(System.in).nextInt();
}
//求出输入的a,b,c这3个数阶乘的和
sum+=fac(num[i]);
}
//输出结果
System.out.println("a! + b! + c! = "+sum);
}
}
不好意思,是要求和呀。y是x进行n次方后的结果
追问一周热门 更多>