Java之阶乘数的计算
说起“阶乘数”,我们应该都不会感到陌生。当老师布置了这样的作业,我们大多数人是一贯用笔算,还有的同学会用计算机去计算。数学是讲究原理和方法的,我们知其然,也要知其所以然。下面我们就用编程来计算阶乘数。
package com.caiduping.jiechengshujishuan;
import java.util.*;
public class JieChengShuJiSuan {
/**
* 所谓阶乘数,用数学公式表示为a!=(a-1)*a
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入阶乘数:");
Scanner input=new Scanner(System.in);
int a=input.nextInt();
System.out.println("你所求的阶乘数计算结果为:"+jiecheng(a));
}
private static int jiecheng(int a) {
// TODO Auto-generated method stub
if(a>1){
return jiecheng(a-1)*a;
}
return 1;
}
}
额……我就简略地做了张程序流程图来说明它的工作原理:我们用数字21、22、24来表示上述代码中第21、22、24行的代码,1、2、3、4表示它的工作次数。

Java之阶乘数的计算的更多相关文章
- java用毫秒数做日期计算的一个踩坑记录
错误示例: Date today = new Date(); Date nextMonth = new Date(today.getTime() + 30* 1000*60*60*24); print ...
- P1028_数的计算(JAVA语言)
题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(0n≤1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该自然数不能 ...
- ACM——数的计算
数的计算——(递归(超时)和非递归) 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:1050 测试通过:31 ...
- Java-Runoob-高级教程-实例-方法:05. Java 实例 – 阶乘
ylbtech-Java-Runoob-高级教程-实例-方法:05. Java 实例 – 阶乘 1.返回顶部 1. Java 实例 - 阶乘 Java 实例 一个正整数的阶乘(英语:factoria ...
- 浅谈Java两种并发类型——计算密集型与IO密集型
转载:https://blog.csdn.net/u013070853/article/details/49304099 核心是可以分别独立运行程序指令的计算单元.线程是操作系统能够进行运算调度的最小 ...
- Java中的数是用补码表示的检验
一.基本介绍(关于下列五个定义来自http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html#!comments,谢原 ...
- Java中的Double类型计算
一.问题的提出: 如果我们编译运行下面这个程序会看到什么?public class Test{ public static void main(String args[]){ Sy ...
- HOG参数简介及Hog特征维数的计算(转)
HOG构造函数 CV_WRAP HOGDescriptor() :winSize(64,128), blockSize(16,16), blockStride(8,8), cellSize( ...
- 洛谷 P1028 数的计算【递推】
P1028 数的计算 题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 1.不作任何处理; 2.在它 ...
随机推荐
- Google JavaScript 语言规范
变量 ▶ 声明变量必须加上 var 关键字. 常量 ▶ 常量的形式如: NAMES_LIKE_THIS, 即使用大写字符, 并用下划线分隔. 你也可用 @const 标记来指明它是一个常量. 但请 ...
- jquery 之validate 笔记
默认分类 2010-04-04 20:35:01 阅读123 评论0 字号:大中小 jquery.validate是jquery旗下的一个验证框架,借助jquery的优势,我们可以迅速验证一些常见的输 ...
- UVA 12897 Decoding Baby Boos 暴力
Decoding Baby Boos Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contes ...
- c语言write与python的struct模块交互
以下讲的都是用二进制形式打开文件.网上有很多struct模块的文章,下面是我做的小实验. 1.对于c里面的fwrite写入一个单字节,写的就是它的二进制.如3,写入文件就是二进制0x03,它并不是3的 ...
- 32位Windows7上8G内存使用感受+xp 32位下使用8G内存 (转)
32位Windows7上8G内存使用感受+xp 32位下使用8G内存 博客分类: Windows XPWindowsIE企业应用软件测试 我推荐做开发的朋友:赶快加入8G的行列吧....呵呵..超爽 ...
- ACM-经典DP之Monkey and Banana——hdu1069
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- TLS握手优化详解
随着 HTTP/2 的逐渐普及,以及国内网络环境越来越糟糕(运营商劫持和篡改),HTTPS 已经开始成为主流.HTTPS 在 TCP 和 HTTP 之间增加了 TLS(Transport Laye ...
- css笔记 css用法:
前端框架:AdminLTE https://almsaeedstudio.com/themes/AdminLTE/index2.html CSS学习教程: http://www.divcss5.co ...
- C++11实现Qt的信号槽机制
概述 Qt的信号槽机制是Qt的核心机制,按钮点击的响应.线程间通信等都是通过信号槽来实现的,boost里也有信号槽,但和Qt提供的使用接口很不一样,本文主要是用C++11来实现一个简单的信号槽,该信号 ...
- WPF 之 左键弹出操作菜单,并禁用右键菜单
在目前的WPF版本中,很多的控件都有一个ContextMenu的属性,可以设置组件的右键菜单,这点确实是很方便,但是有些时候我们可能会需要当单击鼠标左键才弹出这个ContextMenu,而不是单击鼠标 ...