输入一个数字 计算乘阶5!=5*4*3*2*1要求用 java 基础知识编写。
答案:4 悬赏:10 手机版
解决时间 2021-01-30 12:23
- 提问者网友:献世佛
- 2021-01-30 03:04
输入一个数字 计算乘阶5!=5*4*3*2*1要求用 java 基础知识编写。
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-01-30 04:42
public class Test7 {
public static void main(String[] args) {
System.out.println(factorial(3));
}
public static long factorial(int i) {
if(i>1) return i*factorial(i-1);
else return 1;
}
}追问就用普通的写写是怎样的追答public class Test7 {
public static void main(String[] args) {
System.out.println(factorial(2));
}
public static long factorial(int i) {
long result = 1;
if(i>1) {
for(int j=i;j>0;j--) {
result *= j;
}
}
return result;
}
}追问System.out.println(factorial(2));这个是什么public static long factorial(int i) {还有这个追答调下面写的阶乘方法
把功能封装成一个方法追问用的long?
我们还不会用long追答long比int大,防溢出追问不用long在打一遍看看
public static void main(String[] args) {
System.out.println(factorial(3));
}
public static long factorial(int i) {
if(i>1) return i*factorial(i-1);
else return 1;
}
}追问就用普通的写写是怎样的追答public class Test7 {
public static void main(String[] args) {
System.out.println(factorial(2));
}
public static long factorial(int i) {
long result = 1;
if(i>1) {
for(int j=i;j>0;j--) {
result *= j;
}
}
return result;
}
}追问System.out.println(factorial(2));这个是什么public static long factorial(int i) {还有这个追答调下面写的阶乘方法
把功能封装成一个方法追问用的long?
我们还不会用long追答long比int大,防溢出追问不用long在打一遍看看
全部回答
- 1楼网友:拜訪者
- 2021-01-30 07:55
int num=1;
for(int i=5;i>=1;i--){
num*=i;
}追答自己放个class,或者直接放主函数里
for(int i=5;i>=1;i--){
num*=i;
}追答自己放个class,或者直接放主函数里
- 2楼网友:鱼忧
- 2021-01-30 07:06
我给你写个阶乘函数把:
int f(int n){
int result=1;
for(int i=1;i<=n;i++){
result*=i;
}
return result;
}
int f(int n){
int result=1;
for(int i=1;i<=n;i++){
result*=i;
}
return result;
}
- 3楼网友:神也偏爱
- 2021-01-30 05:31
public int fact(int num){
if(num == 1)
return 1;
return num*fact(num-1);
}追问这个看不懂追答
那就没办法了,这最基础了。。
就是5!分解为
1、5!= 5*4!
2、4!= 4*3!
3、3!= 3*2!
4、2!= 2*1!
当num=1的时候,就返回1。
然后通过1的结果,逆推回
1、2!= 2*1! = 2
2、3!= 3*2! =3*2=6
3、4!= 4*3! =4*6=24
4、5!= 5*4! =24*5 =120
写个最最基础的吧 public class Test{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入数字:");
int num = in.nextInt();
long result = 1 ;
for(int i = 1;i <= num;i++){
result *= i;
}
System.out.println(result);
}
}
if(num == 1)
return 1;
return num*fact(num-1);
}追问这个看不懂追答
那就没办法了,这最基础了。。
就是5!分解为
1、5!= 5*4!
2、4!= 4*3!
3、3!= 3*2!
4、2!= 2*1!
当num=1的时候,就返回1。
然后通过1的结果,逆推回
1、2!= 2*1! = 2
2、3!= 3*2! =3*2=6
3、4!= 4*3! =4*6=24
4、5!= 5*4! =24*5 =120
写个最最基础的吧 public class Test{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入数字:");
int num = in.nextInt();
long result = 1 ;
for(int i = 1;i <= num;i++){
result *= i;
}
System.out.println(result);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯