分别用for循环,while do-while以及递归方法实现n的阶乘!

源码:

package book;
import java.util.Scanner;
public class Access {
    public static void main(String args[]){
        System.out.println("第一种,利用for循环实现n的阶乘");
        Scanner su=new Scanner(System.in);
        System.out.println("请输入n的值:");
        int n=su.nextInt();
        int sum=1;
        for(int i=1;i<=n;i++){
            sum=sum*i;
        }
        System.out.println(n+"的阶乘值为"+sum);
        System.out.println("while实现n的阶乘!");
        int i=sum=1;
        while(i<n){
             i=i+1;
            sum*=i;            
        }
        System.out.println(n+"的阶乘值为"+sum);
        System.out.println("do-while实现n的阶乘!");
        do{
        sum*=i;
        i+=1;
        }while(i<n);
        System.out.println(n+"的阶乘值为:"+sum);
        System.out.println("利用递归方法实现N的阶乘!");
        System.out.println("递归方法:"+Digui(n));
        }
        public static int Digui(int n){
        if(n==0)
        return 1;
        else
        return n*Digui(n-1);
        }
}

运行结果:

第一种,利用for循环实现n的阶乘
请输入n的值:10
10的阶乘值为3628800
while实现n的阶乘!
10的阶乘值为3628800
do-while实现n的阶乘!
10的阶乘值为:36288000
利用递归方法实现N的阶乘!
递归方法:3628800

分别用for循环,while do-while以及递归方法实现n的阶乘!的更多相关文章

  1. 6、C#基础整理(for 语句经典习题--for循环嵌套、穷举)

    1.for循环嵌套----最基础题目:求阶乘的和 ; int n = int.Parse(Console.ReadLine()); ; i < n; i++) { ;//定义变量sum1,每次循 ...

  2. C# 循环语句

    本次主要学习了for循环语句. for循环语句的基本格式是: for(初始条件;循环条件;状态改变) { 循环体; } break——中断循环,跳出循环. continue——停止本次循环,进入下次循 ...

  3. matlab for循环应用(阶乘及the day of year)

    一.N的阶乘 %脚本文件:test.m %N的阶乘 使用举例 % 定义变量 % ii ---循环变量,也就是循环次数 % N ---N的阶乘 % N_factorial --计算N的阶乘 clc;cl ...

  4. 第三章 C#程序结构 (3.3 循环结构)

    (1) while循环 当表达式为真,则执行下面的语句:语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句:然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环. [ ...

  5. JavaScript程序设计——FOR循环

    FOR循环流程图: 1.编写求6!的阶乘的代码 2.编写10个10相加的和 3.编写1+2+3+...+10连续相加的和 4.编写1+(1+2)+(1+2+3)+...+(1+2+3+...+10)连 ...

  6. 循环结构for语句-求和思想

    循环结构for语句的练习-求和思想:需求1:求出1到10之间的数据和 public static void main(String[] args) { int sum = 0; for(int i = ...

  7. EC读书笔记系列之18:条款47、48

    条款47 请使用traits classes表现类型信息 记住: ★Traits classes使得“类型相关信息”在编译期可用.它们以templates和“templates特化”完成实现 ★整合重 ...

  8. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  9. JDK8 HashMap--getTreeNode()获取红黑树指定key的节点

    /*获取红黑树的指定节点*/ final TreeNode<K,V> getTreeNode(int h, Object k) { return ((parent != null) ? r ...

随机推荐

  1. 点评国内各大在线app生成平台

    第一个:应用之星-无需编码的在线手机应用开发平台-移动开发平台-Androi应用开发 应用之星是免费的无需编码.基于组件的在线手机应用开发平台,app软件开发平台,手机软件开发平台,为移动开发人员减少 ...

  2. android4.4的两个bug

    Android4.4做了大量的改动.但也造成了非常多新的问题. 工作中碰到了几个比較有趣的bug.这两个bug在nexus 5上也有. 记录一下.以资纪念 1.Android4.4在解析jpg头的时候 ...

  3. 移植DirectFB于SOC3210(龙芯)【转】

    本文转载自:http://blog.chinaunix.net/uid-25298908-id-120188.html 编译平台:龙芯.中标普华Linux桌面5 目标平台:SOC3210 一.获取源码 ...

  4. What is the difference between task and thread?

    http://stackoverflow.com/questions/4130194/what-is-the-difference-between-task-and-thread 回答一: A tas ...

  5. 基于Spark的网站日志分析

    本文只展示核心代码,完整代码见文末链接. Web Log Analysis 提取需要的log信息,包括time, traffic, ip, web address 进一步解析第一步获得的log信息,如 ...

  6. PCB 线路板人生

    由此开端,增加PCB人生分类栏,后续在此分享PCB 非工作方面所思所想,由于文笔不好,请指正.

  7. Arranging Your Team

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=35800#problem/D #include <iostream> #inc ...

  8. HDU3085 Nightmare Ⅱ

    题目: Last night, little erriyue had a horrible nightmare. He dreamed that he and his girl friend were ...

  9. Aspnet_Session

    cmd: aspnet_regsql.exe -ssadd -sstype c -d ZZCasSession -S 192.168.0.3 -U sa -P szhweb2010 <!--会话 ...

  10. strcpy自实现

    为了避免strcpy源串覆盖问题(P220),自实现strcpy. #include <stdio.h> #include <string.h> #include <as ...