- import java.util.Scanner;
- /**
- 需求:递归与非递归实现n的阶乘。
- */
- public class DemoClass {
- public static void main(String[] args)
- {
- Scanner in=new Scanner(System.in);
- int num=in.nextInt();
- // 非递归
- int resu1=jiecheng1(num);
- System.out.println(resu1);
- // 递归
- int resu2=jiecheng2(num);
- System.out.println(resu2);
- }
- public static int jiecheng2(int num) {//递归
- // TODO Auto-generated method stub
- if(num>1){
- num=num*jiecheng2(num-1);
-
- }
- return num;
- }
-
-
-
- public static int jiecheng1(int num) { //非递归
- // TODO Auto-generated method stub
- int j=num;
- for(int i=j;i>1;i--){
- num=num*(i-1);
- }
- return num;
- }
- }
复制代码 |