- 浏览: 107845 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (99)
- 经济 (1)
- dwr (2)
- 测试 (0)
- java (29)
- resin (1)
- oracle (3)
- 感悟 (1)
- jvm (15)
- mina2 (5)
- j2se (12)
- linux (28)
- protobuf (1)
- tcp/ip (0)
- jdbc (0)
- 数据库 (4)
- 游戏 (0)
- 技术文档 (1)
- nosql (2)
- 算法 (2)
- apache (2)
- mysql (1)
- hashcode (1)
- spring (2)
- quartz (5)
- netcat (2)
- 分页 (1)
- 正则 (0)
- shell (1)
- lsof (1)
- nginx (1)
- git (1)
最新评论
-
fys124974704:
你试下将第三条写成以下这样,你会发现你的结论不对:select ...
ORACLE分页SQL语句 -
ikon:
两个乘数没有转成integer,而是当成字符串;BigInte ...
计算任意2个正整数的乘积 -
kidding87:
效率不是很高,思路没有问题,但是你的两个乘数输入都都转为Int ...
计算任意2个正整数的乘积 -
k1280000:
------------------------同意!
学习之道
由于阶乘的结果会超出java数据类型的最大范围,所以采用数组或集合作为存储结果的方式;集合具有长度的自动伸缩,故采用集合作为最终的存储方式;
算法如下:
各位相乘,满十进一位;
package com.datastruct.array; import java.util.ArrayList; import java.util.List; /** * 求n! * @author ikon * */ public class Factorial { public static void main(String[] args){ List<Integer> datas = new ArrayList<Integer>(); datas.add(1); System.out.print("输入要计算的阶乘的数字 : "); ConsoleReader console = new ConsoleReader(System.in); int n = console.readInt(); for(int i=1;i<=n;i++){ for(int j=0;j<datas.size();j++){ datas.set(j, datas.get(j)*i); } for(int j=0;j<datas.size();j++){ if(datas.get(j)>9){ if(datas.size()==j+1){ datas.add(j+1,0); //这里要注意进位,调用add } datas.set(j+1, datas.get(j+1)+datas.get(j)/10); datas.set(j, datas.get(j)%10); } } } System.out.print(n+"!="); for(int index=datas.size()-1;index>-1;index--){ System.out.print(datas.get(index)); } } }
ConsoleReader是个接收终端输入的工具类,如下:
package com.datastruct.array; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; public class ConsoleReader { public ConsoleReader(InputStream inStream) { reader = new BufferedReader (new InputStreamReader(inStream)); } public int readInt() { String inputString = readLine(); int n = Integer.parseInt(inputString); return n; } public double readDouble() { String inputString = readLine(); double x = Double.parseDouble(inputString); return x; } public String readLine() { String inputLine = ""; try { inputLine = reader.readLine(); } catch(IOException e) { System.out.println(e); System.exit(1); } return inputLine; } private BufferedReader reader; }
发表评论
-
Quartz定时任务学习(一)简单任务
2012-04-27 12:30 893学习quartz首先了解三个概念: 调度器:负责调度作 ... -
介绍Quartz
2012-04-27 12:22 1453介绍Quartz Quartz是一个开源的任务调度 ... -
理解Quartz触发器(1)
2012-04-27 11:37 910Quartz中一个Job往往是 ... -
Quartz中SimpleTrigger的探讨
2012-04-27 11:34 7481.来写一个每隔10秒启动一次任务的例子. import j ... -
理解Java对象序列化
2012-02-15 09:38 733关于Java序列化的文章早 ... -
认识Arrays(一)打印
2012-02-03 16:52 616Arrays提供了一组操作array的静态方法。 一、基本类 ... -
oracle java数据类型对应表
2011-12-05 13:37 0[img]http://dl.iteye.com/upload ... -
计算任意2个正整数的乘积
2011-11-12 21:36 1267接上一篇整数的阶乘算法,来计算2个正整数的乘积; 算法如下: ... -
Java调用外部程序技巧
2011-11-08 09:17 839前些天使用Java调用外部程序的时候,发现线程会堵塞在wa ... -
多核平台下的JAVA优化
2011-11-08 09:12 676现在多核CPU是主流。利用多核技术,可以有效发挥硬件的能力 ... -
使用 Eclipse Memory Analyzer 进行堆转储文件分析
2011-11-07 17:09 820http://www.ibm.com/developerwor ... -
infoQ 文档ppt
2011-11-07 11:43 1312http://www.docin.com/app/user/c ... -
游戏性能监控
2011-11-07 10:18 01、cpu消耗(耗时)监控 在功能代码前后取时间值,相减,发 ... -
使用Cacti监控你的网络(一)- Cacti概述及工作流程
2011-11-07 09:36 754http://blog.sina.com.cn/s/b ... -
浅析 Java Thread.join()
2011-10-29 09:25 910一、在研究join的用法之前,先明确两件事情。 1.join ... -
hashmap线程不安全在哪里?
2011-10-13 11:33 1117大家都知道HashMap不是线程安全的,但是大家的理解 ... -
java面试题及答案(基础题122道,代码题19道)
2011-10-10 22:54 713http://ilovelate.itpub.net/post ... -
关于UnsupportedOperationException异常
2011-09-29 12:03 612我们在使用collection框 ... -
关注一下druid
2011-09-26 09:21 756关注一下druid,阿里开源的jdbc组件,可以监控数据库访问 ... -
字节流调试
2011-09-22 17:01 789针对后台的字节流数据调试比较麻烦,通常的做法是将刚从socke ...
相关推荐
采用Matlab计算整数n的阶乘。子函数形式,直接调用。 采用if-else语句实现,非常方便。文档里面也有注释,方便学习。结果输出到命令窗口。
Java语言中实现正整数阶乘的两种方法 Java是一种高级语言,广泛应用于安卓开发、Web开发、桌面应用开发等领域。在数学运算中,阶乘是一个非常重要的概念,它是指一个正整数的连续乘积。例如,5的阶乘是5*4*3*2*1=...
在编程领域,阶乘是一个常见的数学概念,通常用于计算组合数和概率问题。...综上所述,无论选择循环还是递归,Java都能有效地计算任意正整数的阶乘。理解这两种方法的原理和应用场景,对提升编程能力大有裨益。
本文介绍了一种用于计算任意大小的正整数阶乘的算法。该算法主要通过使用整型数组来存储大数,并通过一系列辅助函数来完成加法、乘法等基本运算。 #### 三、关键函数实现 ##### 1. 模拟正整数乘以10的函数 `multi_...
在C语言编程中,"阶乘后的0"通常是指计算一个正整数的阶乘(n!)后,结果末尾包含的零的数量。这个问题涉及到数论中的因子分解和质因数5。...通过上述的C代码,我们可以有效地计算任意正整数阶乘后末尾零的个数。
其中,N可能是小于200的任意正整数。 【输入形式】 输入文件为当前目录下的factor.in。 该文件只包含一个正整数,表示需要求该正整数的阶乘。 【输出形式】 输入文件为当前目录下的factor.in。 该文件只包含...
其中,N可能是小于200的任意正整数。 【输入形式】 输入文件为当前目录下的factor.in。 该文件只包含一个正整数,表示需要求该正整数的阶乘。 【输出形式】 输入文件为当前目录下的factor.out。 该文件只...
其中,N可能是小于200的任意正整数。 【输入形式】 输入文件为当前目录下的factor.in。该文件只包含一个正整数,表示需要求该正整数的阶乘。 【输出形式】 输入文件为当前目录下的factor.in。该文件...
计算阶乘 编写程序,输入整数 n,计算并输出 n 的阶乘。 n!=1×2×3×⋯×n 其中:0≤n≤20 本程序修改result数组大小可计算n>20的阶乘
其中,N可能是小于200的任意正整数。 【输入形式】 输入文件为当前目录下的factor.in。 该文件只包含一个正整数,表示需要求该正整数的阶乘。 【输出形式】 输出文件为当前目录下的factor.out。 该文件只...
阶乘定义为非负整数n的阶乘是所有小于及等于n的正整数的积,记作n!。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。 在C++中,我们可以使用循环或递归两种方法来实现阶乘计算。下面我们将详细介绍这两种方法。 ### 1. ...
阶乘是将一个正整数n与小于它的所有正整数相乘的结果,表示为n!。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。 在Java中,我们可以使用循环或递归的方式来计算阶乘。以下是两种可能的实现方式: **1. 使用循环计算...
阶乘是一个数学概念,表示一个正整数N的所有小于等于N的正整数的乘积,表示为N!。例如,5的阶乘是5! = 5 × 4 × 3 × 2 × 1 = 120。然而,当N变得非常大时,常规的整型或浮点型数据类型可能无法存储这么大的结果,...
阶乘是一个正整数n与小于它的所有正整数的乘积,表示为n!。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。在C#中,你可以通过循环或递归方式实现。循环方法如下: ```csharp int n = 5; int factorial = 1; for (int i ...
阶乘是一个数学运算符,表示一个数的所有正整数因子相乘的结果。例如,5 的阶乘(5!)等于 5 × 4 × 3 × 2 × 1 = 120。 在计算超大整数的阶乘时,我们需要考虑到计算机的整数范围限制。例如,如果我们需要计算 ...
阶乘算法是计算一个正整数n的所有小于等于n的正整数的乘积的数学概念,表示为n!。在计算机科学中,阶乘算法经常用于解决各种问题,如组合数学、排列组合以及概率计算等领域。C#是一种常用的编程语言,它提供了多种...
通过这种循环求解方法,我们可以轻松地计算出任意正整数的阶乘。 学习如何在易语言中实现循环求阶乘对于初学者来说是一个很好的起点,它可以帮助理解基础的编程概念,如变量、条件语句、循环结构以及简单的数学运算...
本问题要求我们编写一个程序,能够接受任意输入的正整数n,并计算其阶乘。 实现阶乘的计算可以通过递归或循环两种方式。首先,我们来看递归方法: 1. **递归实现**:递归的基本思想是函数调用自身,直到达到基本...
本篇将深入探讨如何使用C#语言在ASP.NET环境中实现计算任意正整数n的阶乘功能。 首先,我们需要理解阶乘的定义:对于一个非负整数n,它的阶乘(表示为n!)是所有小于等于n且与n互质的正整数的乘积。例如,5的阶乘...
我们可以根据这个公式编写一个简单的递推函数,用于计算任意正整数的阶乘。 在易语言中,我们可以创建一个函数,比如`递推阶乘`,接收一个整数参数n,然后用循环或递归的方式来实现递推计算。以下是一个可能的...