分别用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. myeclipse git 上下箭头表示什么

    myeclipse git 上下箭头表示什么? 向上箭头表示本地有提交(commit),但是还没有推(push)到远程代码库中,旁边的数字表示本地commit的次数: 向下箭头表示你拉(fetch)下 ...

  2. HIHO 16 C

    树分治.对于一棵子树的根节点,至少有一条边与儿子相连的属于重边.对于一条轻边,它的贡献值是两端子树大小的乘积,所以,重边应该是贡献值最大的一边. 至于要求所有的点,进行深度优先搜索,因为移动一个点只会 ...

  3. Oracle 自己主动内存管理 SGA、PGA 具体解释

    ASMM自己主动共享内存管理: 自己主动依据工作量变化调整 最大程度地提高内存利用率 有助于消除内存不足的错误 SYS@PROD>show parameter sga NAME          ...

  4. iOS 通讯录编程【总结】

    第一大块儿:读取通讯录 1.iOS 6以上系统,争取获取用户允许: 初始化的时候须要推断.设备是否授权 -(id)init{ self = [super init]; [self createdABH ...

  5. Recovery 中的UI知识积累【转】

    本文转载自:http://blog.csdn.net/wed110/article/details/26554197 int gr_init(void);             /* 初始化图形显示 ...

  6. 应用程序 /dev/rtc 编程 获取时间 2011-12-13 01:01:06【转】

    本文转载自:http://blog.chinaunix.net/uid-16785183-id-3040310.html 分类: 原文地址:应用程序 /dev/rtc 编程 获取时间 作者:yuwei ...

  7. Single document interface和Multiple document interface

    https://en.wikipedia.org/wiki/Single_document_interface https://msdn.microsoft.com/en-us/library/b2k ...

  8. iOS版本、iPhone版本、Xcode版本比对

    iOS版本 iPhone版本 Xcode版本 其他 2003年 Xcode1.0 2005年4月29日 Xcode2.0 2007年1月9日 iPhone OS(iOS1): 虚拟键盘.谷歌地图 第一 ...

  9. Spark入门之DataFrame/DataSet

    目录 Part I. Gentle Overview of Big Data and Spark Overview 1.基本架构 2.基本概念 3.例子(可跳过) Spark工具箱 1.Dataset ...

  10. git的使用(转)

    git 配置文件 git的配置文件位置针对所有用户:/etc/gitconfig针对当前用户: -/.gitconfig 查看配置的方法 git config --list 修改配置的方法 git c ...