黑马程序员技术交流社区

标题: 用for循环写的求阶乘的程序,看着不合适,求优化 [打印本页]

作者: MengDeKaiShi    时间: 2015-1-8 21:08
标题: 用for循环写的求阶乘的程序,看着不合适,求优化
/*
        求5!
        5! = 1*2*3*4*5;
*/
import java.util.*;
class JieChengDemo
{
        public static void main(String[] args)
        {
                System.out.println("请输入需要求得阶乘数(整数):");
                Scanner sc = new Scanner(System.in);
                int z = sc.nextInt();
                int amass = 1;//定义一个变量,用来表示乘积
                for (int x = 1; x <= z ; x++ )
                {
                        for (int y = 1; y <= z ; y++  )
                        {
                                if (y == x)
                                {
                                        amass = amass*x;                               
                                }
                               
                        }
                }
                System.out.println(z + "的阶乘是:" + amass);
        }
}

作者: Imp_x    时间: 2015-1-8 21:30
本帖最后由 Imp_x 于 2015-1-8 21:33 编辑
  1. import java.util.Scanner;

  2. public class Test {
  3.         public static void main(String[] args)
  4.     {
  5.             System.out.println("请输入需要求得阶乘数(整数):");
  6.             Scanner sc = new Scanner(System.in);
  7.             int z = sc.nextInt();
  8.             int n = 1;//定义一个变量,用来表示乘积
  9.             for (int x = 1; x <= z ; x++ )
  10.             {
  11.                     n*=x;
  12.             }
  13.             System.out.println(z + "的阶乘是:" + n);
  14.     }
  15. }
复制代码


作者: 西同学    时间: 2015-1-8 22:38
具体的就不写了      用递归  就可以很方便的写出来
作者: 随影    时间: 2015-1-8 22:46
用递归。
  1. public class Demo9{

  2.         public static void main(String[] args) {
  3.                 int result = print(5);
  4.                 System.out.println("结果:"+ result);
  5.         }
  6.        
  7.         public static int print(int num){
  8.                 if(num==1){
  9.                         return 1;
  10.                 }else{
  11.                         return num*print(num-1);
  12.                 }
  13.         }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2