import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader; //=================================================
// File Name : Factorial_demo
//------------------------------------------------------------------------------
// Author : Common //类名:
//属性:
//方法: //主类
//Function : triangle_demo
public class Factorial_demo { public static void main(String[] args) throws Exception{
// TODO 自动生成的方法存根
System.out.println("输入数字:");
int theNumber = getInt();
int theAnswer = factorial(theNumber);
System.out.println("阶乘:"+theAnswer);
} public static int factorial(int n){ //递归
if(n == 1)
return 1;
else
return (n*factorial(n-1));
} //输出方法
public static String getString() throws IOException{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
} //输出方法
public static int getInt() throws IOException{
String s = getString();
return Integer.parseInt(s); } }

Java递归算法——阶乘的更多相关文章

  1. Java-Runoob-高级教程-实例-方法:05. Java 实例 – 阶乘

    ylbtech-Java-Runoob-高级教程-实例-方法:05. Java 实例 – 阶乘 1.返回顶部 1. Java 实例 - 阶乘  Java 实例 一个正整数的阶乘(英语:factoria ...

  2. Java递归算法经典实例(兔子问题、阶乘、1到100累加)

    https://blog.csdn.net/isitman/article/details/61199070

  3. Java 实现阶乘算法

    阶乘算法如下: 以下列出 0 至 20 的阶乘: 0!=1,(0 的阶乘是存在的) 1!=1, 2!=2, 3!=6, 4!=24, 5!=120, 6!=720, 7!=5040, 8!=40320 ...

  4. Java 递归算法

    其基本思路是递归算法设计:对于一个复杂的问题,原问题分为几个子问题相似相对简单.继续下去,直到孩子可以简单地解决问题,这是导出复发,因此,有复发的原始问题已经解决. 关键是要抓住: (1)递归出口 ( ...

  5. 转: JAVA递归算法实例小结

    一.递归算法设计的基本思想是: 对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解. 在做递归算法的时候 ...

  6. Java之阶乘数的计算

    说起“阶乘数”,我们应该都不会感到陌生.当老师布置了这样的作业,我们大多数人是一贯用笔算,还有的同学会用计算机去计算.数学是讲究原理和方法的,我们知其然,也要知其所以然.下面我们就用编程来计算阶乘数. ...

  7. java递归算法提前返回值带出

    /** * */ package testJava.java.foreach; import java.util.ArrayList; import java.util.LinkedList; imp ...

  8. Java递归算法——三角数字(消除递归)

    import java.io.*; // for I/O //类名:Params //属性: //方法: class Params //这个类的对象被压入栈中 { public int n; //用来 ...

  9. Java递归算法——二分查找

    import java.lang.reflect.Array; import java.nio.Buffer; import java.util.Arrays; import java.util.Ra ...

随机推荐

  1. SharePoint 2013 本地开发解决方案以及远程调试

    转自:http://www.cnblogs.com/jianyus/p/3523387.html 在SharePoint开发中,我们需要在部署有SharePoint环境的服务器中开发,这是一件让人很苦 ...

  2. 【Alpha版本】冲刺阶段——Day 6

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  3. Android:View随手指移动

    View的自动移动,我们可以设置动画,如之类提到的 ViewCompat,Animation. 如何是View随着手指的移动而移动呢? 在onTouch事件实现 @Overridepublic boo ...

  4. ubuntu静态IP配置

    1. 修改配置文件/etc/network/interfacesroot@ubuntu:~# sudo gedit /etc/network/interfaces 添加以下内容:auto eth0   ...

  5. iOS开发小技巧--TableView Group样式中控制每个section之间的距离

    一.TableView的Group样式中,默认的每个section都有sectionHeader和sectionFooter,只要调整这两个的大小就可以实现section之前的间距扩大或缩小 二.项目 ...

  6. react 属性与状态 学习笔记

    知识点:1.react 属性的调用 this.props.被调用的属性名 设置属性的常用方法:var props = { one: '123', two: 321}调用这个属性:<HelloWo ...

  7. lucene-查询query->PhrasePrefixQuery使用短语缀搜索

    PhrasePrefixQuery与Phrase有些类似.在PhraseQuery中,如果用户想查找短语“david robert”,又想查找短语“mary robert”.那么,他就只能构建两个Ph ...

  8. 使用IDEA和gradle搭建Spring MVC和MyBatis开发环境

    1. 概述 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具. 它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐 ...

  9. IntelliJ IDEA 使用心得与常用快捷键

      那种酸爽,根本说不出来—————————————————————————— by: Jimi没有BondJimi是谁? 就是洒家啊! 刚开始学习写Java的时候,用的eclipse,正式工作后,主 ...

  10. shell实现两个数的相加

    刚开始的时候写,一直写不对:看似简单的功能,但是一定要小心:函数的定义: funciton functionName {.....}在functionName和{之间一定有空格啊! 我就是没加空格,就 ...