2023-07-26 09:54发布
staticint阶乘(inti){intm=1;for(;i>0;i--){m*=i;}returnm;}追问能写个完整的代码吗拜托了追答publicclas
不好意思,是要求和呀。y是x进行n次方后的结果
publicstaticintfac(intx,intn){inty=1;for(inti=0;i<n;i++){y=y*x;}returny;}publicstaticvoidmain(Stringargs[]){inta=2,b=3,c=4;intsum=fac(a,2)+fac(b,2)+fac(c,2);System.out.println(sum);}}
能重新修改一下吗
最多设置5个标签!
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次方后的结果
追问一周热门 更多>