java程序计算20的阶乘,通过使用bigdecimal类来接收数据,如下例子:
publicclassTest{
publicstaticvoidmain(String[]args){
BigDecimalcnt=newBigDecimal(0);
for(inti=1;i<=20;i++){
cnt=cnt.add(jiecheng(i));//循环计算版20之内的阶乘权
}
System.out.println(cnt);
}
(intn){
if(n==1){
returnnewBigDecimal(1);
}
//multiply()相乘
returnjiecheng(n-1).multiply(newBigDecimal(n));
}
}
『贰』 在java中,用递归方法计算n的阶乘。
用Java求键盘输入的数的阶乘n。(递归算法)packagejiecheng; importjava.util.*; //导入java.util包中的所有类classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;
elsi=n*rep(n-1) returni; } } publicclassJie{ publicstaticvoidmain(String[]args){ intn; //此处定义要输入的数Scanners= newScanner(System.in); //以下三行用于n的值得输入System.out.print( "请输入一个整数:"); n=s.nextInt(); repf= newrep(); System.out.println(n+"!="+f.rep(n)); } }
『叁』 用java求阶乘
求阶乘用for就行,假设我们要对num求阶乘,结果是result
int result = 1;
for (int i=1;i<=num;i++){
result *= i;
}
此时result的值即为版num的阶乘(仅正权整数)
『肆』 java语言求n的阶乘
||楼主,系统提示你少括号,让你插入一个括号在结束块,说的很明白啊
你在最后加个括号就没错啦...
publicclassexample2{
staticlongcalcFactorial(intn){
longfactorial=1;
if(n<1||n>20){
System.out.println("输入错误!");
}
for(inti=n;i>=1;i--){
factorial*=i;
}
System.out.println("请输入不超过20的正整数n:");
for(inti=1;i<=n;i++){
System.out.printf("最后结果:%d",calcFactorial(n));
System.out.println();
returnfactorial;
}
publicstaticvoidmain(String[]args){}
}//<-这个是calcFactorial方法的结束括号,你类example2的结束括号呢?
另外你这个方法能否运行起来?主函数应该写在class内,而不是calcFactorial方法内
『伍』 java中怎么实现阶乘,如计算1~100的阶乘
使用BigInteger大容量运算类计算100的阶乘
一.一般算法(循环)
view plain to clipboardprint?
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i <= 100; i++) {
result *= i;
}
System.out.println(result);
}
}
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i <= 100; i++) {
result *= i;
}
System.out.println(result);
}
}
输出结果为0,因为int无法保存下100的阶乘的结果,100的阶乘的长度至少大于50位,也要大于long,double
二.使用BigInteger大容量运算类
view plain to clipboardprint?
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i <= 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i <= 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
计算结果为:000000000000000000
产度:158
『陆』 java输入一个数n,计算n的阶乘(5的阶乘=1*2*3*4*5)
1、首先要理解一下阶乘的公式:
n!=n*(n-1)*(n-2)*....*2*1,5!=5*4*3*2*1
#include//头文件.h在新浪博客中无法显示加上就可以了
intmain()
{
intt=5,i=4;//要是求其他的数的阶乘的话,把t的值改为其他数,
//再把i改为(t-1)就行了
while(i>=1)
{
t=t*i;
i--;
}
printf("5的阶乘结果是:%d ",t);
return0;
}
2、运行结果如下:
『柒』 Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和
Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和方法:
先编写求阶乘的方版法,再通过for循环计算权1到7的阶乘的和。
具体实现:
publicclassTest{
publicstaticvoidmain(String[]args){
intsum=0;//保存阶乘的和
for(inti=1;i<=7;i++)
sum+=factorial(i);
System.out.println(sum);
}
//求阶乘方法,传入一个整数,返回这个整数的阶乘
publicstaticintfactorial(intnum){
intresult=1;
for(inti=1;i<=num;i++){
result*=i;
}
returnresult;
}
}
『捌』 JAVA中怎么表示阶乘
再简单不过的问题了,这种问题用递归解决,对话框自己用SWING写,这里我给你写下算版法:
public class Main {
public static long f(long num) {
权if (1 == num) {
return 1;
}
return num * f(num - 1);
}
public static void main(String[] args) {
System.out.println(f(10));
}
}